From c7f0a51219f70af4b685304122d5b3ae472af7d0 Mon Sep 17 00:00:00 2001 From: Rob Browning Date: Sat, 12 May 2007 11:02:46 -0700 Subject: [PATCH] Update for Emacs 22.0.99. --- debian/.gitignore | 38 + debian/README.add-on-package-maintainers | 2 + debian/autofiles-diff-header | 3 + debian/bin/info/install-info | 5 + debian/changelog | 1201 +++++++++++++++++ debian/compat | 1 + debian/control | 88 ++ debian/control.in | 88 ++ debian/copyright | 125 ++ debian/copyright.in | 125 ++ debian/dfsg-splitter | 140 ++ debian/emacsVER-bin-common.postinst | 29 + debian/emacsVER-bin-common.prerm | 22 + debian/emacsVER-common.README | 42 + debian/emacsVER-common.docs | 3 + debian/emacsVER-common.postinst | 41 + debian/emacsVER-common.prerm | 21 + debian/emacsVER.README | 3 + debian/emacsVER.README.Debian | 3 + debian/emacsVER.desktop | 13 + debian/emacsVER.menu | 17 + debian/emacsVER.postinst | 22 + debian/emacsVER.prerm | 18 + debian/mangle-info | 17 + debian/missing-file.dfsg | 10 + debian/patches/autofiles.diff | 56 + debian/patches/avoid-fakemail-mail-loss.diff | 91 ++ .../debian-adjust-mail-from-addresses.diff | 46 + debian/patches/debian-startup.diff | 47 + debian/patches/fix-vc-path.diff | 19 + debian/patches/handle-dfsg-split.diff | 493 +++++++ debian/patches/misc-unseparated.diff | 73 + .../require-movemail-use-liblockfile.diff | 24 + debian/patches/series | 9 + debian/patches/version-mention-debian.diff | 20 + debian/rules | 855 ++++++++++++ 36 files changed, 3810 insertions(+) create mode 100644 debian/.gitignore create mode 100644 debian/README.add-on-package-maintainers create mode 100644 debian/autofiles-diff-header create mode 100644 debian/bin/info/install-info create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/control.in create mode 100644 debian/copyright create mode 100644 debian/copyright.in create mode 100644 debian/dfsg-splitter create mode 100644 debian/emacsVER-bin-common.postinst create mode 100644 debian/emacsVER-bin-common.prerm create mode 100644 debian/emacsVER-common.README create mode 100644 debian/emacsVER-common.docs create mode 100644 debian/emacsVER-common.postinst create mode 100644 debian/emacsVER-common.prerm create mode 100644 debian/emacsVER.README create mode 100644 debian/emacsVER.README.Debian create mode 100644 debian/emacsVER.desktop create mode 100644 debian/emacsVER.menu create mode 100644 debian/emacsVER.postinst create mode 100644 debian/emacsVER.prerm create mode 100644 debian/mangle-info create mode 100644 debian/missing-file.dfsg create mode 100644 debian/patches/autofiles.diff create mode 100644 debian/patches/avoid-fakemail-mail-loss.diff create mode 100644 debian/patches/debian-adjust-mail-from-addresses.diff create mode 100644 debian/patches/debian-startup.diff create mode 100644 debian/patches/fix-vc-path.diff create mode 100644 debian/patches/handle-dfsg-split.diff create mode 100644 debian/patches/misc-unseparated.diff create mode 100644 debian/patches/require-movemail-use-liblockfile.diff create mode 100644 debian/patches/series create mode 100644 debian/patches/version-mention-debian.diff create mode 100755 debian/rules diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 00000000000..a6c581edaeb --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,38 @@ +*~ +.\#* +/build-nox +/build-x +/emacs-common.README.00 +/emacs-common.README.01 +/emacs21-bin-common.README.Debian +/emacs21-bin-common.postinst +/emacs21-bin-common.postrm +/emacs21-bin-common.prerm +/emacs21-bin-common.substvars +/emacs21-bin-common +/emacs21-common.README.Debian +/emacs21-common.docs +/emacs21-common.links +/emacs21-common.postinst +/emacs21-common.prerm +/emacs21-el.prerm +/emacs21-nox.README.Debian +/emacs21-nox.desktop +/emacs21-nox.links +/emacs21-nox.menu +/emacs21-nox.postinst +/emacs21-nox.postrm +/emacs21-nox.prerm +/emacs21.README.Debian +/emacs21.desktop +/emacs21.links +/emacs21.menu +/emacs21.postinst +/emacs21.postrm +/emacs21.prerm +/files +/patches/autofiles.diff +/protected-files.tgz +/stamp +/tmp-alt-list +\#*\# diff --git a/debian/README.add-on-package-maintainers b/debian/README.add-on-package-maintainers new file mode 100644 index 00000000000..ee71a4503a3 --- /dev/null +++ b/debian/README.add-on-package-maintainers @@ -0,0 +1,2 @@ +Please see /usr/share/doc/emacsen-common/debian-emacs-policy.gz for +information on how to properly structure your emacs add-on packages. diff --git a/debian/autofiles-diff-header b/debian/autofiles-diff-header new file mode 100644 index 00000000000..b4d6dae38b7 --- /dev/null +++ b/debian/autofiles-diff-header @@ -0,0 +1,3 @@ +* The autoconf related files have been updated. + Patch: autofiles.dpatch + Author: N/A (automatically generated) diff --git a/debian/bin/info/install-info b/debian/bin/info/install-info new file mode 100644 index 00000000000..ff18a51c3a2 --- /dev/null +++ b/debian/bin/info/install-info @@ -0,0 +1,5 @@ +#!/bin/sh + +# Dummy script to fool emacs install into thinking it did something useful. + +exit 0 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 00000000000..3fecde7ef7c --- /dev/null +++ b/debian/changelog @@ -0,0 +1,1201 @@ +emacs22 (22.0.99+1-1) experimental; urgency=low + + * Update to 22.0.99. + + -- Rob Browning Sat, 12 May 2007 11:01:29 -0700 + +emacs22 (22.0.95+1-1) experimental; urgency=low + + * New emacs22 packages. + + * The debian/dfsg-splitter has been updated. [rlb] + + * Obsolete patches have been removed. [rlb] + + -- Rob Browning Sun, 11 Mar 2007 10:14:16 -0700 + +emacs21 (21.4a+1-5) unstable; urgency=low + + * Move man pages back to emacs21-common. (closes: #414321) [rlb] + - debian/rules + + -- Rob Browning Sat, 10 Mar 2007 16:16:15 -0800 + +emacs21 (21.4a+1-4) unstable; urgency=low + + * Merge useful bits from Jerome and my orphaned emacs22 tree (which + itself was based on Jérôme's snapshot tree) in preparation for + upcoming emacs22 branch. Many thanks to Jérôme. A partial summary of + these changes follows: + + Add debian/rules info_subdir variable. + + Modify desktop and menu files version. This approach should work for + normal versions, "Emacs 21.4a (X11)", and for snapshots, "Emacs + 2006-09-09 (X11)". See the menu_ver variable in debian/rules. + + Overhaul debian/rules to build all of the install trees at once and + then call the dh_* programs generically rather than calling them once + per package. [rlb] + + - emacsVER-bin-common.postinst + - emacsVER-bin-common.prerm + - emacsVER-common.postinst + - emacsVER-common.prerm + - emacsVER.desktop + - emacsVER.menu + - rules + + -- Rob Browning Sat, 3 Mar 2007 16:13:23 -0800 + +emacs21 (21.4a+1-3) unstable; urgency=high + + * Fix build failure on mipsel. + Thanks to Aurelien Jarno . + (closes: #401665) [Jérôme Marant] + - debian/patches/arch-mipsel.diff: set OUTPUT_ARCH to `mips' + instead of `mipsel'. + + * Changed FSF address in copyright file. [Jérôme Marant] + - debian/copyright.in + - debian/copyright + + -- Jerome Marant Thu, 04 Jan 2007 08:31:28 +0100 + +emacs21 (21.4a+1-2) unstable; urgency=low + + * Make both emacs21 and emacs21-nox packages suggest non-DFSG + packages and fix erroneous emacs21-common dependency on it + [Jérôme Marant] + - debian/control.in + - debian/control + + * Grab yow mode from the CVS trunk so it is now compatible with yow.lines + replacement which also comes from the CVS trunk. + (closes: #395501) [Jérôme Marant] + - debian/patches/yow-mode-from-cvs.diff: new patch. + - debian/patches/series: updated. + + * Properly handle ldapsearch output from OpenLDAP version 2 and above. + Thanks to both Joshua Judson Rosen and + Henrik Holmboe . + (closes: #381484) [Jérôme Marant] + - debian/patches/ldapsearch-output.diff: new patch. + - debian/patches/series: updated. + + * Mention license of both emacs.1 and etags.1 manpages and add a copy of + the GFDL to the copyright file (closes: #396875) [Jérôme Marant] + - debian/copyright.in + - debian/copyright: re-generated. + + * Fix generation of emacs21-common README.Debian. [rlb] + + -- Rob Browning Sat, 2 Dec 2006 11:45:44 -0800 + +emacs21 (21.4a+1-1) unstable; urgency=low + + * In accordance with the recent General Resolution + (http://www.debian.org/vote/2006/vote_001), move all non-DFSG files to + new packages that will be included in Debian's non-free section. The + debian/dfsg-splitter script has been used to split the upstream + archive. (closes: #207932) [rlb] + - debian/control.in + - debian/copyright.in + - debian/dfsg-splitter + - debian/emacs-common.README + - debian/patches/handle-dfsg-split.diff + - debian/patches/series + - debian/replacement/yow.lines.uu + - debian/rules + - debian/missing-file.dfsg: new template file used to generate + replacements for non-free files normally accessible through C-h + key bindings. Those files will be displayed if the original + ones are not available. + + * Acknowledge NMU. Thanks Marc Brockschmidt + (Closes: #381452) [Jérôme Marant] + + * Separate mipsel from mips autodetection in configure.in [Jérôme Marant] + - debian/patches/arch-mipsel.diff: update. + + * Split mips and mipsel ports into two separate patches [Jérôme Marant] + - debian/patches/arch-mips.diff: new file. Add mips-specific code + from arch-mipsel+mips.diff patch + - debian/patches/arch-mipsel.diff: add mipsel-specific code from + arch-mipsel+mips.diff patch + - debian/patches/arch-mipsel+mips.diff: remove. + + * Bump Standards-Version to 3.7.2 [Jérôme Marant] + - debian/control.in + + * Add a new dummy `emacs' package which depends on the latest + Emacs release (closes: #82687) + - debian/control.in: added new entry for `emacs' package. + - debian/control: re-generated. + - debian/emacs.*: renamed to debian/emacsVER.* + - debian/emacs-*.*: renamed to debian/emacsVER-*.* + - debian/rules: changed accordingly. + + * Remove erroneous semicolon character when reading XBM files. + Thanks to Jochen Voss . + (closes: #392651) [Jérôme Marant] + - debian/patches/xbm-read-erroneous-semicolon.diff: new file. + - debian/patches/series: updated. + + * Properly point to README.Debian.gz from Emacs NEWS file. + Thanks to Per Bojsen . + (closes: #389063) [Jérôme Marant] + - debian/patches/misc-unseparated.diff: updated. + + -- Rob Browning Wed, 25 Oct 2006 00:40:34 -0700 + +emacs21 (21.4a-6.2) unstable; urgency=low + + * Non-maintainer brown paper bag release. + * Apply patch from 21.4a-6.1 properly, somehow quilt hates me. + + -- Marc 'HE' Brockschmidt Wed, 27 Sep 2006 08:30:33 +0200 + +emacs21 (21.4a-6.1) unstable; urgency=low + + * Non-maintainer upload. + * debian/patches/arch-mipsel+mips.diff: + Add patch from Max Kellermann (updated by + Thiemo Seufer ) to fix segfaults on mips + and mipsel. Thanks for the hard work! (Closes: #381452) + + -- Marc 'HE' Brockschmidt Wed, 27 Sep 2006 00:13:30 +0200 + +emacs21 (21.4a-6) unstable; urgency=low + + * When we create an empty aclocal.m4 after patching (to get around + quilt's use of patch -E), make the timestamp match the timestamp of + configure.in, so that we won't accidentally re-run autoconf given the + dependency in Makefile.in. [rlb]. + - debian/rules + + -- Rob Browning Sun, 14 May 2006 15:24:35 -0700 + +emacs21 (21.4a-5) unstable; urgency=low + + * Don't include dpatch.make in debian/rules since the package no longer + depends on dpatch. Thanks to Romain Francoise + . (closes: #367177) [rlb] + - debian/rules + + -- Rob Browning Sun, 14 May 2006 10:18:04 -0700 + +emacs21 (21.4a-4) unstable; urgency=low + + * Migrate from dpatch to quilt and update generation of README. [rlb] + - debian/README.in + - debian/rules + - debian/control.in + - debian/patches/* + + * Change occurrence of "find ... -perm +u+x" to "find ... -perm /u+x". + The former is no longer handled the way it used to be, and *doesn't* + find all files with execute permission. Thanks to François Fleuret + for pointing out the initial problem. [rlb] + - debian/rules + + * Replace $(pwd) with $(CURDIR) in debian/rules. + - debian/rules + + * Remove PACKAGE variable. + - debian/rules + + * Arrange DEB_ vars as recommended by + /usr/share/doc/autotools-dev/README.Debian.gz and do the same with + DEB_HOST_ARCH and DEB_HOST_GNU_CPU. [rlb] + - debian/rules + + * Use DEB_HOST_GNU_TYPE for the value of target rather than + DEB_BUILD_GNU_TYPE. [rlb] + - debian/rules + + * Add $(src_name) and $(flavor) and use them. [rlb] + - debian/rules + + * Remove show-upstream-diffs target (use check-diff instead). [rlb] + - debian/rules + + * Rename orig_tgz and orig_tgz_dir variables to deb_orig_tgz and + deb_orig_tgz_dir. [rlb] + - debian/rules + + * Lowercase local makefile variable names. [rlb] + - debian/rules + + * Migrate to debhelper (while consulting Jérôme Marant's work on + emacs-snapshot). There may still be a bit to do. [rlb] + - debian/rules + - debian/changelog + - debian/compat + - debian/control + - debian/control.in + - debian/emacs-bin-common.postinst + - debian/emacs-bin-common.postrm + - debian/emacs-bin-common.prerm + - debian/emacs-common.README + - debian/emacs-common.docs + - debian/emacs-common.postinst + - debian/emacs-common.prerm + - debian/emacs-el.prerm + - debian/emacs.README + - debian/emacs.menu + - debian/emacs.postinst + - debian/emacs.postrm + - debian/emacs.preinst + - debian/emacs.prerm + - debian/rules + - debian/README.binpkg.in (moved to debian/emacs.README) + - debian/README.in (moved to debian/emacs-common.README) + - debian/build-binary-pkg (removed - now handled in debian/rules) + - debian/menu.in (moved to debian/emacs.menu) + + * Change nominal_ver computation to match code in configure.in. [rlb] + - debian/rules + + * Add libxaw7-dev dependency to make sure we get that instead of + libxaw8-dev. Thanks to Tollef Fog Heen . + (closes: #365597) [rlb] + - debian/control.in + + * Apply an upstream patch to fix an mmap related Hurd build problem. + Thanks to Michael Banck . (closes: #347554) [rlb] + - debian/patches/series + - debian/patches/hurd-mmap.diff + + -- Rob Browning Sat, 13 May 2006 16:24:05 -0700 + +emacs21 (21.4a-3) unstable; urgency=low + + * Disable support for the ppc64 architecture: the patch breaks the + powerpc support and does not work on ppc64 any more anyway. + (closes: #329459) [Jérôme Marant] + - debian/patches/00list: disable arch-ppc64 patch. + - debian/patches/autofiles.dpatch: regenerated. + + -- Rob Browning Sun, 2 Oct 2005 19:00:13 -0700 + +emacs21 (21.4a-2) unstable; urgency=low + + * Apply patch applying modifiers to multibyte-char keys. Thanks to + Martin Stjernholm (closes: #309963) [Jérôme Marant] + - debian/patches/multibyte-char-key-modifiers.dpatch: new file. + - debian/00list: updated. + + * Apply patch supporting the ppc64 architecture. This is a slightly + modified patch derived from the Emacs CVS mainline. + (closes: #300368) [Jérôme Marant] + - debian/patches/arch-ppc64.patch: new file. + - debian/00list: updated. + + * Add real dependency as an alternative to the libtiff-dev build + dependency in order for the build to be deterministic. + (closes: #311074) [Jérôme Marant] + - debian/control.in: add libtiff4-dev as alternative libtiff-dev + build dependency. + - debian/control: regenerated. + + * Bump Standards-Version to 3.6.2. [Jérôme Marant] + - debian/control.in + - debian/control: regenerated. + + * Use the "kitchen sink" bitmap icon when iconifying the Emacs window. + (closes: #309930) [Jérôme Marant] + - debian/menu.in: pass the `-i' option to the command launching Emacs + under X11. + - debian/emacs.desktop: likewise. + + * Work around bug in Xorg which makes AltGr incorrectly recognized. + This patch has been backported from Emacs CVS trunk. [Jérôme Marant] + - debian/patches/xorg-altgr-fix.dpatch: new file. + - debian/00list: updated. + + * Apply patch preventing an infinite loop in whitespace.el if kill-read-only + is set to t. Thanks to Romain Francoise + (closes: #273123) [Jérôme Marant] + - debian/patches/whitespace-readonly-infloop.dpatch: new file. + - debian/00list: updated. + + -- Rob Browning Sat, 17 Sep 2005 23:39:52 -0700 + +emacs21 (21.4a-1) unstable; urgency=medium + + * New upstream release. (closes: #294313) [Jérôme Marant] + - debian/patches/movemail-pop-fmt-vulnerability.dpatch: removed since + it has been applied upstream. + + * Apply patch from Romain Francoise making PCL-CVS + compliant with recent versions of CVS. (closes: #291221) [Jérôme Marant] + - debian/patches/pcl-cvs-format.dpatch: new file. + - debian/00list: updated. + - debian/control: tightened dependency on dpatch (>= 2.0.9). + + * Add MIME type to desktop file. (closes: #296618) [Jérôme Marant] + - debian/emacs.desktop: added MimeType entry. + + * Apply patch supporting the AMD64 architecture. This is a slightly + modified patch derived from the Emacs CVS mainline. Thanks to + Goswin von Brederlow and + amd64 porters. (closes: #248796) [Jérôme Marant] + - debian/patches/arch-amd64.patch: new file. + - debian/00list: updated. + + * Hard code leim version in copyright.in for now. with 21.4a the emacs + tar.gz name changed, but the leim archive name didn't. [rlb] + - debian/copyright.in + - debian/copyright + + * Remove prebuild target from debian/rules. Instead, just issue + instructions to the user. [rlb] + - debian/rules + + * Fix invocation of wc -l when counting fns-*.el files. [rlb] + - debian/rules + + * Use dpatch for the autotool related diff rather than generating and + applying a diff manually. What was the debian/autofiles.diff is now + handled via debian/patches/autofiles.dpatch. Also, we no longer try + to automatically generate the diff when needed. Instead, the diff + must be generated manually via "debian/rules autofiles-sync". + + The earlier approach was broken because dpatch files that + autofiles.diff depended on could end up later in the Debian diff (and + hence have newer timestamps). This would cause an unexpected run of + aclocal, etc. and break the buildds. If we ever want to re-automate + generation of the autofiles diff, we'll need to use dpatch md5 sigs + (or similar) rather than timestamps. (closes: #297796) [rlb] + - debian/autofiles.diff: removed + - debian/patches/00list: added autofiles + - debian/patches/autofiles.dpatch: new + - debian/rules: updated + + -- Rob Browning Tue, 15 Mar 2005 11:00:04 -0600 + +emacs21 (21.3+1-9) unstable; urgency=high + + * Modify debian/rules to support using an arch source repository and an + archive arrangement somewhat similar to, but not compatible with + arch-buildpackage's. [rlb] + - debian/rules + + * Applied patch to fix mailspool pop format string vulnerability + (CAN-2005-0100). [rlb] + Thanks to Max Vozeler . + - debian/patches/movemail-pop-fmt-vulnerability.dpatch + + -- Rob Browning Thu, 3 Feb 2005 21:02:03 -0600 + +emacs21 (21.3+1-8) unstable; urgency=medium + + * Apply patch allowing Emacs to properly interpret logo keys as Meta + rather than Meta+Super+Hyper. This problem has been showing up since + latest XFree86 and Xorg introducted `fake keys'. + Thanks to Denis Barbier + (closes: #255286, #274103) [Jérôme Marant] + - debian/patches/xfree86-4.3-modifiers.dpatch: new file + - debian/patches/00list: updated. + + * Apply patch fixing long-standing memory leak in decode-coding-region + and similar routines. Thanks to Florian Weimer . + (closes: #273919) [Jérôme Marant] + - debian/patches/coding-region-leak.dpatch: new file. + - debian/patches/00list: updated. + + * Apply patch tightening permissions of local backup copies of remote + files. Thanks to Michael Albinus . + (closes: #274427) [Jérôme Marant] + - debian/patches/remote-files-permissions.dpatch: new file. + - debian/patches/00list: updated. + + -- Rob Browning Sat, 16 Oct 2004 11:10:32 -0500 + +emacs21 (21.3+1-7) unstable; urgency=medium + + * set recompile against libtiff4-dev and upload with + urgency=medium. (closes: #262828) [rlb] + - debian/changelog + + -- Rob Browning Tue, 3 Aug 2004 11:34:43 -0500 + +emacs21 (21.3+1-6) unstable; urgency=low + + * fix debian/README rendering problem. [rlb] + + * Stop provinding www-browser since the w3-el-e21 package provides it + now. [Jérôme Marant] + - debian/control.in: remove www-browser provides for emacs and + emacs-nox. + - debian/control: synced. + + * Fixed installation of .desktop entry. [Jérôme Marant] + - debian/build-binary-pkg: fixed typo. + + * Set value of the auto-save-file-name-transforms variable at run-time + in order to override its build-time value. + (closes: #160615, #167295, #175346, #241826, #250676, #178792) + [Jérôme Marant] + - debian/patches/startup-auto-save-file-name-transforms.dpatch: new file. + - debian/patches/00list: updated. + + * Add Python byte-compiled file extensions to completion-ignore-extensions + variable. (closes: #177276) [Jérôme Marant] + - debian/patches/python-completion-ignored-extensions.dpatch: new file. + - debian/patches/00list: updated. + + * Fixed removal of alternatives + (closes: #251822, #206901, #241820, #163034) [Jérôme Marant] + - debian/emacs-bin-common.prerm + + * Add a slave alternative for "editor" manpage. + Thanks to Daniel Kraft . (closes: #255639) [Jérôme Marant] + - debian/emacs.postinst + + * Apply a 2003-06-21 patch from upstream CVS to fix a non-interactive + signal handling problem that could cause Emacs to die prematurely as + the result of a SIGIO or SIGHUP. (closes: #253887) [rlb] + - debian/patches/fix-batch-mode-signal-handling.dpatch + - debian/patches/00list + + * Add warning message to prepare-release explaining that you have to run + it as a normal user (not root). [rlb] + - debian/rules + + -- Rob Browning Mon, 26 Jul 2004 10:27:10 -0500 + +emacs21 (21.3+1-5) unstable; urgency=low + + * Apply patch allowing emacsclient to handle ALTERNATE_EDITOR properly + when the command is run without any parameter [Jérôme Marant] + (closes: #219658) + - debian/patches/emacsclient-alternate-editor.dpatch: new file. + + * Provide the `editor' virtual package. [Jérôme Marant] + (closes: #66243, #90154, #158807) + - debian/control.in: emacs and emacs-nox now provide the `editor' + virtual package. + - debian/control: synchronized with debian/control.in. + - debian/emacs.postinst: adding an `editor' alternative with a priority + of 0 as discussed in + http://lists.debian.org/debian-policy/2000/debian-policy-200006/msg00122.html + - debian/emacs.prerm: removing the `editor' alternative on package + removal. + + * Added automatic switching to UTF-8 encoding when editing the debian + changelog file. [Jérôme Marant] + - debian/changelog: added Emacs local variables forcing coding + to UTF-8. + + * Fix handling of menu entry for text version of Emacs [Jérôme Marant] + (closes: #221171) + - debian/menu.in: call the text version of emacs with the `-nw' + parameter. + + * Install the emacsclient manpage [Jérôme Marant] (closes: #222767) + - debian/build-common-pkg: install missing emacsclient manpage. + - debian/emacs-common.postinst: install alternative for emacsclient + manpage. + + * Install .desktop entry in order to make Emacs easy to start in + both GNOME and KDE. Thanks to Adam C Powell IV + [Jérôme Marant] (closes: #233711) + - emacs.desktop: new template file for desktop entries + - debian/rules: generate desktop file from emacs.desktop template + and install it for emacs21. + + * test -n "${major_ver}" in a few places so that we don't accidentally + generate bad output files from our .in files. [rlb] + - debian/rules + + * truncate aclocal.m4 during autofiles-sync so that old bits won't kill new + autoconf run. Also ignore autom4te.cache when generating + autofiles.diff. [rlb] + - debian/rules + + * fix bug in prepare-release autodiff prompt handling. [rlb] + - debian/rules + + * update configure.in for newer autoconf versions. [rlb] + - autoconf-updates.dpatch + + * add an emacsXY-bin-common package containing all the architecture + specific bits, so that emacsXY-common can be architecture independent. + This should save many megabytes * architectures in the debian pool. + [rlb] (closes: #232888, #233345) + - debian/rules: move some build-* code from debian/ scripts to rules + and adjust to build emacsXY-bin-common. + - debian/emacs-common.postinst debian/emacs-common.prerm: some code + moved to new emacs-bin-common scripts. + - debian/emacs-common.postrm: deleted. + - debian/emacs-bin-common.postinst: new file. + - debian/emacs-bin-common.prerm: new file. + - debian/emacs-bin-common.postrm: new file. + - debian/build-common-pkg: deleted - code now in debian/rules. + - debian/build--pkg: deleted - code now in debian/rules. + - debian/emacs-el.postinst: deleted - was empty. + - debian/control.in: add emacsXY-bin-common and adjust other entries. + - debian/fix-debian-scripts: deleted - no longer used. + - debian/build-binary-pkg: adjusted to handle more of the common code. + + * Add support for linux 2.6 to ACPI in lisp/battery.el. Thanks to + Mario Lang [Jérôme Marant] (closes: #228658) + - debian/patches/battery-acpi-support.dpatch: updated. + + * Generate md5sums file for every package [Jérôme Marant] (closes: #22590) + - debian/rules: generate md5sums file just before building packages. + - debian/build-binary-pkg: likewise. + + * no point in byte-compiling fns-*.el according to upstream authors + (closes: #189277) + + * fix configure args (--build alone doesn't seem to work anymore). [rlb] + - debian/rules + + * re-enable gif support via libungif. [rlb] + - debian/rules + + * re-enable toolkit scrollbars, but make it really easy for people to + disable them in debian/rules. Search for + --without-toolkit-scrollbars. [rlb] + - debian/rules + - debian/README.in + + * fix problem with upgrades by adding emacs21-common (<< 21.3+1-4) to + Replaces for the common packages. [rlb] + - debian/control.in + - debian/control + + -- Rob Browning Tue, 6 Apr 2004 18:07:38 -0500 + +emacs21 (21.3+1-4) unstable; urgency=medium + + * debian/changelog: converted to UTF-8 as per Policy. [Jérôme Marant] + * debian/control.in: + - Bumped Standards-Version to 3.6.1. [Jérôme Marant] + - Added versioned build-dependency on dpatch >= 1.23 since this version + no longer requires numerial prefixes to dpatches. [Jérôme Marant] + * debian/patches/*.dpatch: removed numerical prefix since the patch order + is specified in debian/patches/00list. [Jérôme Marant] + * debian/patches/hurd-libio-glibc.dpatch: new patch allowing Emacs + to be built on Hurd systems using a libio-based glibc. + Thanks to Markus Brinkmann . + (closes: #143220) [Jérôme Marant] + * debian/patches/battery-acpi-support.dpatch: new patch adding ACPI + support to lisp/battery.el. Thanks to Mario Lang . + (closes: #208812) [Jérôme Marant] + * debian/patches/scroll-margin.dpatch: new patch preventing emacs + to hang with a non-0 scroll-margin set. + (closes: #175658) [Jérôme Marant] + * debian/patches/save-buffer.dpatch: new patch fixing a bug which + makes a file being removed when the coding system of its buffer + has changed and saving the changes was canceled. + (closes: #194171) [Jérôme Marant] + * debian/patches/00list: updated with respect to new patches. + [Jérôme Marant] + * debian/menu.in: + - Added hints to menu entries. (closes: #144282) [Jérôme Marant] + - Changed titles for both text and X11 entries in order to + differenciate them. (closes: #197527, #188598) [Jérôme Marant] + * debian/patches/browse-url.dpatch: + - Updated patch fixing a wrong call to galeon. Thanks to + Mikael Hedin . (closes: #208206) [Jérôme Marant] + - Updated patch fixing browse-url's invocation of Mozilla. + Thanks to Jeff Sheinberg , + Martin Pool and KATO Kazuyoshi . + (closes: #148408, #216067) [Jérôme Marant] + * Use -O1 rather than -O2 on m68k. Fixes a build failure (looks like a + broken byte compiler) with newer versions of gcc. (closes: #207580) + + -- Rob Browning Fri, 31 Oct 2003 00:00:10 -0600 + +emacs21 (21.3+1-3) unstable; urgency=low + + * create debian/stmap it doesn't exist. (closes: #210802) + + -- Rob Browning Sat, 13 Sep 2003 14:49:18 -0500 + +emacs21 (21.3+1-2) unstable; urgency=low + + * add back accidentally removed dpatch Build-Depends. (closes: #210627) + + -- Rob Browning Fri, 12 Sep 2003 10:30:21 -0500 + +emacs21 (21.3+1-1) unstable; urgency=low + + * repackage without .elc files since we regenerate all of them anyway. + This will save space, and will also allow us to use dpatch in a + straightforward way. + * modify debian/rules computation of version numbers to handle + (i.e. ignore) the +1 in 21.3+1. + * rework to use dpatch and to patch/unpatch the debian source in-place + rather than using a debian/build-src copy of the whole source tree. + * incorporated patch (500-detect-coding-iso2022.dpatch) to fix raw-text + coding problem. Thanks to Kenichi Handa . + (closes: #198736) + + -- Rob Browning Thu, 11 Sep 2003 23:15:44 -0500 + +emacs21 (21.3-2) unstable; urgency=low + + * Compile --without-toolkit-scroll-bars for now (my pref, and to avoid + xaw3d issues for the moment). + * Update copyright to reflect documentation licenses. (closes: #161500) + + -- Rob Browning Wed, 13 Aug 2003 08:53:35 -0500 + +emacs21 (21.3-1) unstable; urgency=low + + * new upstream version. + + -- Rob Browning Wed, 23 Apr 2003 13:16:06 -0500 + +emacs21 (21.2-6) unstable; urgency=low + + * changed sort behavior for x-vs-no-x fix in cus-dep.el based on + suggestion from Matt Kraai . (closes: #166139) + * finish breaking up most of the debian/patch/* files. + * set up automatic generation for autofiles.diff which contains all the + diffs to automatically generated files and is applied after all of the + debian/patch/*.diff files. + * add an apply-patches-upto command so it's easier to create partially + patched trees for editing. + + -- Rob Browning Thu, 6 Feb 2003 18:12:41 -0600 + +emacs21 (21.2-5) unstable; urgency=low + + * fix bug in rules and binary-pkg generation. (closes: #164770) + * fix problem with config.sub and config.guess updates. (closes: #164763) + * time to stop creating the /usr/doc symlinks... + + -- Rob Browning Tue, 15 Oct 2002 16:34:52 -0500 + +emacs21 (21.2-4) unstable; urgency=low + + * create debian/patches/ and start migrating to represent + changes as patches against the upstream source. Don't edit the main + tree anymore. + * rework tree and packaging to have emacs21-common, emacs21, and + emacs21-nox packages with emacs21-common containing nearly all the + data. + + -- Rob Browning Sat, 12 Oct 2002 15:09:37 -0500 + +emacs21 (21.2-3) unstable; urgency=low + + * Update emacs21-nox package description. + + -- Rob Browning Wed, 29 May 2002 14:04:57 -0500 + +emacs21 (21.2-2) unstable; urgency=low + + * fix control file priorities to match overrides. + * fix rules to handle autotools more correctly. See + /usr/share/doc/autotools-dev/README.Debian.gz for details. + (closes: #139998) + * firewall, headless box, and anti-X users everywhere rejoice! + Introducing emacs21-nox package :> + + -- Rob Browning Tue, 28 May 2002 12:09:48 -0500 + +emacs21 (21.2-1) unstable; urgency=low + + * new upstream release. + * move outline of Debian specific Emacs changes to + /usr/share/doc/*/README.Debian.gz.x + + -- Rob Browning Fri, 22 Mar 2002 11:41:17 -0600 + +emacs21 (21.1-9) unstable; urgency=low + + * fix control.in to use ${Source-Version}. (closes: #138994) + + -- Rob Browning Mon, 18 Mar 2002 21:54:47 -0600 + +emacs21 (21.1-8) unstable; urgency=low + + * Fix .texi problems with upstream patch. (closes: #138236) + + -- Rob Browning Sun, 17 Mar 2002 11:58:59 -0600 + +emacs21 (21.1-7) unstable; urgency=high + + * fix vc-path to be correct for a Debian system. (closes: #120079) + * re-add lost hppa and s390 patches. (closes: #107251) + + -- Rob Browning Thu, 6 Dec 2001 14:10:45 -0600 + +emacs21 (21.1-6) unstable; urgency=medium + + * modify order in browse-url.el. + * added upstream iso-acc.el patch to fix accent bug. (closes: #119852) + * fix ppc nocombreloc bug with upstream patch. (closes: #117557) + + -- Rob Browning Tue, 4 Dec 2001 08:43:38 -0600 + +emacs21 (21.1-5) unstable; urgency=low + + * Run autoconf to remove stale ppc code. (closes: #119189) + * Write new browse-url.el code with support for galeon and to default to + searching for a suitable browser, free browsers first. (closes: #116822) + + -- Rob Browning Tue, 13 Nov 2001 09:51:31 -0600 + +emacs21 (21.1-4) unstable; urgency=low + + * Really fix alternatives problem this time. + + -- Rob Browning Fri, 9 Nov 2001 10:24:49 -0600 + +emacs21 (21.1-3) unstable; urgency=low + + * Fix but in grep in postinst. (closes: #117251, #117256, #117415, #118792) + * Remove vestigal ppc bits and add upstream patch for ppc nocombreloc + problem. (closes: #117557) + * fix bug in upstream-files.tar handling. + * don't configure gif support until our libungif is new enough. See bug + #117729. + * Fix manpage to list correct default window size. (closes: #118641) + + -- Rob Browning Thu, 8 Nov 2001 21:15:20 -0600 + +emacs21 (21.1-2) unstable; urgency=low + + * change to priority optional. + * use xaw3d scrollbars after checking upstream preferences. + (closes: #116831, #116911, #116638) + * added some build-depends. (closes: #116981) + * fixed typo in NEWS. (closes: #116814) + * fixed alternatives bug in postinst/prerm for emacsclient (closes: #116915) + + -- Rob Browning Thu, 25 Oct 2001 16:02:45 -0500 + +emacs21 (21.1-1) unstable; urgency=low + + * New emacs21 packages. Many changes -- reviewed all Debian files. + + -- Rob Browning Thu, 18 Oct 2001 17:28:03 -0500 + +emacs20 (20.7-10) unstable; urgency=medium + + * Add arch header for mipsel and fix configure.in and + configure. (closes: #103959) + + -- Rob Browning Mon, 23 Jul 2001 09:23:06 -0500 + +emacs20 (20.7-9) unstable; urgency=low + + * Added more Build-Depends. (closes: #101832) + * Disable ralloc on Hurd. Thanks to Robert Bihlmeyer + . (closes: #101926) + + -- Rob Browning Tue, 10 Jul 2001 12:48:22 -0500 + +emacs20 (20.7-8) unstable; urgency=low + + * Added ia64 patches from Bdale Garbee for ia64.h. + (closes: #90518) + * Added Build-Depends on mailx for now (though this is *wrong* for the + long run -- I need to fix my fakemail handling). + (closes: #95903, #96761) + * Fix fakeroot sgid problem (move movemail chmod +s in debian/rules). + * Remove emacs' overzealous dir.gz file. + * Shrink gnu.xpm to 32x32 and make it the menu icon. (closes: #20253, #21310) + * Update manpage to not refer to kitchen sink anymore -- though with + emacs21, we're going to move back to using whatever they choose. + (closes: #81682) + + -- Rob Browning Wed, 13 Jun 2001 23:56:16 -0500 + +emacs20 (20.7-7) unstable; urgency=low + + * Fixed reftex-info problem. (closes: #44837). + * Fix install-strip target in Makefile.in. Thanks to + Kalle Olavi Niemitalo . (closes: #51348) + + -- Rob Browning Sat, 5 May 2001 23:50:50 -0500 + +emacs20 (20.7-6) unstable; urgency=low + + * Fix improper usage of dpkg-statoverride and make sure movemail is set + up right. (closes: #95953) + * Fix bad manpage location in postinst update-alternatives call. + * Fix bad .so in ctags manpage (closes: #88231, #45317, #65017, #74570) + + -- Rob Browning Sat, 5 May 2001 09:47:40 -0500 + +emacs20 (20.7-5) unstable; urgency=low + + * configure.in: add detection of CONF_MAIL_PROGRAM_NAME. + * lib-src/fakemail.c: use CONF_MAIL_PROGRAM_NAME when appropriate + (closes: #72103) -- need to forward upstream. + * Add "modified by Debian" clause to (emacs-version) at RMS's request. + * Start Debian modifications section in copyright file as per policy. + * Add build fixes for hurd (closes: #78461). Changes suggested by + Marcus.Brinkmann@ruhr-uni-bochum.de. Thanks. + * Switch from Debian sendmail.el hack to Francesco's suggestion of + setting mail-from-style to 'system-default by default at startup + (closes: #35128). This allows the user to override when desired in + the normal way. This should be discussed with the upstream + maintainers. They may be amenable to making this the default on + Debian systems. + * add dependency on dpkg (>= 1.9.0) for new install-info. + * info pages should finally work right (or at least closer to right). + They're now installed in /usr/share/info/emacs-20/ under their normal + names, and install-info can add the appropriate (emacs-20/emacs), + etc. entries to /usr/share/info/dir. This hopefully closes a bunch of + old bugs. + (closes: #64994, #64512, #64025, #62155, #59332, #51163, #40443) + * No more files in /usr/doc. (closes: #91454, #63768) + * /usr/man moved to /usr/share/man. (closes: #91149) + * This should be fixed, in addition we've switched to dpkg-statoverride + (closes: #73007) + * /usr/share/info/dir.gz should be gone. + (closes: #75594, #68551, #65012) + + -- Rob Browning Sun, 29 Apr 2001 22:03:33 -0500 + +emacs20 (20.7-4) unstable frozen; urgency=low + + * Upload to unstable *and* frozen since this fixes outstanding grave + bugs. + + -- Rob Browning Thu, 27 Jul 2000 16:21:15 -0500 + +emacs20 (20.7-3) unstable; urgency=low + + * Change code to rebuild *all* the install tree .elc files at build + time. This should fix the grave problems with gnus trashing mail at + the expense of more CPU at build time. + + -- Rob Browning Wed, 19 Jul 2000 20:27:27 -0500 + +emacs20 (20.7-2) frozen unstable; urgency=low + + * Revert to setting debian-emacs-flavor in startup.el as per recent + flip-flop in debian-emacs-policy :< This was a *tiny* source change, + and definitely has to go into frozen - too much breaks otherwise. + + -- Rob Browning Tue, 20 Jun 2000 11:31:29 -0500 + +emacs20 (20.7-1) frozen unstable; urgency=low + + * New upstream bug-fix version. Fixes security bugs, among others. + * Removed some now redundant Debian patches. + + -- Rob Browning Sat, 17 Jun 2000 12:59:48 -0500 + +emacs20 (20.6-3) unstable frozen; urgency=medium + + * Temp fix for alpha corruption problem in cm/src.h + src/termcap.c, src/terminfo.c, and src/sysdep.c (forwarded bug 63993). + + -- Rob Browning Mon, 12 Jun 2000 18:55:22 -0500 + +emacs20 (20.6-2) frozen unstable; urgency=low + + * Make sure info files get registered after /usr/share migration. + + -- Rob Browning Fri, 12 May 2000 15:30:02 -0500 + +emacs20 (20.6-1) frozen unstable; urgency=low + + * Let emacsen-common handle setting debian-emacs-flavor and modify + "Depends:" accordingly. + * Maintainer release of 20.6 - fixes same issues as 20.6-0.1, so it + should go into frozen. + * Move info files to /usr/share/info. + * Make sure .elc files for .el files we've modified are *always* rebuilt. + * Add new unexelf.c from Gerd Moellmann . Without this, + emacs20 will *not* build on either frozen or unstable x86 machines. + + -- Rob Browning Fri, 12 May 2000 11:00:33 -0500 + +emacs20 (20.6-0.1) frozen unstable; urgency=low + + * Non-maintainer release. + * New upstream bug fix release (closes:#60931). + * ARM support merged upstream. + * Add security patches from RUS-CERT posting on BugTraq. + * postinst: Use 2775 as directory permissions in /usr/local (closes:#59919) + + -- Joel Klecker Wed, 26 Apr 2000 11:26:28 -0700 + +emacs20 (20.5a-2) unstable; urgency=low + + * Check in a bogus modification to all the .el files that we modified + before 20.5a so that new .elc files with our changes will be generated + when we build. This must be done every time an upstream change is + merged in. + + -- Rob Browning Tue, 28 Dec 1999 19:51:14 -0600 + +emacs20 (20.5a-1) unstable; urgency=high + + * Upstream version number is just fine (20.5a *is* newer than 20.5). + Switch to use it. + + -- Rob Browning Wed, 22 Dec 1999 11:12:44 -0600 + +emacs20 (20.4.pre20.5a-1) unstable; urgency=high + + * New upstream version, including some Y2K fixes. + * Use weird version to avoid epochs. This is upstream 20.5a. + + -- Rob Browning Wed, 22 Dec 1999 00:16:52 -0600 + +emacs20 (20.4-3) unstable; urgency=low + + * Fix mistake in this file. Fix bug number in architecture + dependency "closes" in last revision. + * Powerpc configure.in patch from Susumu OSAWA . + (Should close bug 48997, but marked forwarded instead until patch is + resolved upstream.) + * Jargon problems apparently fixed. (closes: #31103 #37030) + * Gnus printing problems apparently fixed (closes: #20760) + * Fix manpage to refer to more accurate Debian file locations. + (closes: #35267) + * cperl-mode problem apparently fixed. (closes: #46739) + * Fix build stripping problem (use INSTALL_STRIP=-s rather than + INSTALL_PROGRAM="install -s"). + + -- Rob Browning Sat, 4 Dec 1999 19:24:07 -0600 + +emacs20 (20.4-2) unstable; urgency=low + + * Modify mail-spool-directory/movemail patch in preparation for upstream + inclusion. + * Fix architecture dependency. (closes: #48997) + + -- Rob Browning Fri, 12 Nov 1999 17:59:01 -0600 + +emacs20 (20.4-1) unstable; urgency=low + + * New upstream version. + * I decided to go ahead and get this out without the major overhaul + that's coming, but I'm going to be working more tightly the core + upstream developers from now on, so there will be some more + substantial changes soon, including getting rid of more Debianisms and + double checking all our current patches. + * Fix movemail liblockfile detection to be non-Debian specific + (currently working out the appropriate upstream patch (see etc/NEWS)). + * Fix emacs to support a --with-mail-spool-directory configure option and to + automagically detect the right answer most of the time without it + (currently working out the appropriate upstream patch (see etc/NEWS)). + * Add the lisp-level variable mail-spool-directory which always contains + the location of the mail spool, and hack movemail, nnmail, rmail, and + friends to use it (currently working out the appropriate upstream + patch (see etc/NEWS)) . + * hexl-mode bug fixed upstream. (closes: #21762) + + -- Rob Browning Sat, 30 Oct 1999 13:24:39 -0500 + +emacs20 (20.3-11) unstable; urgency=low + + * Fix liblockfile version skew. (closes: #43803 #45123) + + -- Rob Browning Thu, 23 Sep 1999 13:27:00 -0500 + +emacs20 (20.3-10) unstable; urgency=low + + * Restructure debian/rules to build -el in binary-indep + (closes: #26761) + * Add emacsclient.1 manpage submitted ages ago. (closes: #22463) + * Handle duplicate DOC files (closes: #27668) + * Switch to gnu icon from old B&W drippy sink (closes: #33260) + + -- Rob Browning Tue, 6 Jul 1999 23:21:44 -0500 + +emacs20 (20.3-9) unstable; urgency=low + + * Added HURD patch from Marcus Brinkmann . + (closes: #38571). + * Backed out (global-set-key [delete] 'delete-char) modification + (Ref: #26366). This is too controversial (think cross-platform) + and needs to be resolved by the Debian Keyboard Czar in concert with + others. For now we revert to the upstream behavior... + * Add /usr/share/info to info search path (closes: #38285). + + -- Rob Browning Fri, 11 Jun 1999 00:43:51 -0500 + +emacs20 (20.3-8) unstable; urgency=low + + * Added patch to emacs.c from Wolfram Gloger + to fix exit segfaults. + (closes: #37745) + * Fixed suidregister inconsistency between postinst and postrm + (closes #36845) + + -- Rob Browning Sun, 30 May 1999 14:38:51 -0500 + +emacs20 (20.3-7) unstable frozen; urgency=low + + * Needed to go to frozen too: --print-architecture was an important + bug. Should be OK since other fixes since -5 are minor and + important. + * Add conflict with w3-el (as per Ben Pfaff's + request). (closes: #30413). + * Undo broken (and unneeded) "fix" for suidregister call in postrm. + + -- Rob Browning Thu, 28 Jan 1999 14:49:27 -0600 + +emacs20 (20.3-6) unstable; urgency=low + + * Use --print-installation-architecture rather than --print-architecture + (closes: #28177). + * Remove "#undef SIGIO" from m/arm.h as indicated by David Welton + (closes: #31279). + * Fix call to suidunregister (I didn't realize that it can't take + multiple file arguments) (closes: #21243 #26886). + + -- Rob Browning Wed, 27 Jan 1999 11:50:14 -0600 + +emacs20 (20.3-5) frozen unstable; urgency=low + + * Added NetWinder patches (closes: #28277). (Thanks to David Welton) + * Rebuilt emacs20-el so the versions coincide. In the future, people + need to be sure to build *both* binary packages when doing a + non-maintainer binary release. (This fix justifies inclusion into + frozen). + + -- Rob Browning Sun, 1 Nov 1998 20:14:36 -0600 + +emacs20 (20.3-4) unstable; urgency=low + + * Fix gnus to default to /var/spool/mail rather than /usr/spool/mail for + mailbox locations (closes: #21364). + + -- Rob Browning Sat, 17 Oct 1998 14:28:45 -0500 + +emacs20 (20.3-3) unstable; urgency=low + + * Fixed leim. All the input methods should work now (closes: #27398). + * Made (global-set-key [delete] 'delete-char) the default (closes: #26366). + * Fix ownership on emacs20-el files (closes: #27398). + + -- Rob Browning Tue, 13 Oct 1998 16:57:51 -0500 + +emacs20 (20.3-2) unstable; urgency=low + + * Added 20.2 patches for powerpc. I omitted the patches to the + following files because it looks like equivalent fixes have already + made it into 20.3. If anyone who understands that code better knows + differently, please let me know. The rest of the patches applied + cleanly. + src/callproc.c.rej + src/dired.c.rej + src/fileio.c.rej + src/process.c.rej + src/regex.c.rej + I also modified src/m/powerpc.h to fix problems calling the ldscript. + + -- Rob Browning Mon, 7 Sep 1998 18:20:41 -0500 + +emacs20 (20.3-1) unstable; urgency=low + + * New upstream version. + * Modify all the debian/* stuff to automatically track version changes. + * Major changes to info page handling. Emacs20 info is now integrated into + the main info page. This was the best way I could think of to handle + cross references, etc. without major source changes. + * Locked emacs20-el and emacs20 package versions together with dependencies. + * Add info direntries for widget, info, and customize. + * Fix handling of /usr/local/share (which was badly broken). + * Turn stripping back on. It appears to work. + + -- Rob Browning Tue, 1 Sep 1998 11:44:04 -0500 + +emacs20 (20.2-9) unstable; urgency=low + + * Fixes for leim problems (closes: #25536). Thanks to + Junio Hamano + * update-elc now made executable (closes: #25899). Thanks to + Junio Hamano + * Fix problem with package including dirs in /usr/local/share + (closes: #23431). + + -- Rob Browning Sat, 22 Aug 1998 11:45:16 -0500 + +emacs20 (20.2-8) unstable; urgency=low + + * Regenerate .elc files for .el files we've modified. I didn't realize + that some of the .elc files were in the upstream tar file. Hope this + doesn't break anything. We haven't been using our sendmail and + message modifications until now. (closes: #21079). + * Fix i386ism in debian scripts use "dpkg --print-architecture" + instead. (closes: #20548). + * Fixed reference in README.add-on-package-maintainers + (closes: #23445) + * Fix some alpha problems (closes: #21834). + * Had to add Replaces: emacs20 to emacs20-el to fix problem with + copyright files being in the wrong package (closes: #21531). + + -- Rob Browning Fri, 7 Aug 1998 20:39:59 -0500 + +emacs20 (20.2-7) frozen unstable; urgency=low + + * Changed emacs20-el from standard to optional. + * Fixed broken postrm (release critical) (closes: #24236) + * Don't strip emacs binary (strip is broken see binutils #23153). + * Since we can't strip, don't compile or link with "-g". + + -- Rob Browning Thu, 16 Jul 1998 16:58:04 -0500 + +emacs20 (20.2-6) frozen unstable; urgency=low + + * Gack. Fix reject due to changed .tar.gz file (./leim added to tar). + + -- Rob Browning Wed, 8 Apr 1998 14:04:54 -0500 + +emacs20 (20.2-5) frozen unstable; urgency=low + + * Make sure to preserve timestamps on .el files in emacs20-el + (closes: #20274) + * Add leim support for alternate input methods. May close several + bugs. + + -- Rob Browning Sun, 5 Apr 1998 10:38:20 -0500 + +emacs20 (20.2-4) frozen unstable; urgency=low + + * Added copright file to emacs20-el package (closes: #19300) + * suidmanager doesn't understand symbolic perms + (closes: #18448, #19213) + + -- Rob Browning Fri, 13 Mar 1998 13:01:07 -0600 + +emacs20 (20.2-3) unstable; urgency=low + + * Fixed problem with permissions on /usr/share/emacs/20.2/site-lisp/ + (closes: #18717) + + -- Rob Browning Mon, 2 Mar 1998 12:02:33 -0600 + +emacs20 (20.2-2) unstable; urgency=low + + * fixed bad menu line (closes: #18362). + + -- Rob Browning Thu, 19 Feb 1998 10:52:58 -0600 + +emacs20 (20.2-2) unstable; urgency=low + + * Explicit dependency on liblockfile0 until bug is fixed + (closes #18186) + * added lisp/site-lisp.el to fix info path problem (closes #18190) + + -- Rob Browning Sat, 14 Feb 1998 19:19:09 -0600 + +emacs20 (20.2-1) unstable; urgency=low + + * movemail no longer suid -- not needed. + * start from scratch with emacs-20.2 source and old emacs-19.34 and + xemacs patches. + + -- Rob Browning Tue, 16 Dec 1997 01:20:27 -0600 + +Local Variables: +coding: utf-8 +End: diff --git a/debian/compat b/debian/compat new file mode 100644 index 00000000000..b8626c4cff2 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +4 diff --git a/debian/control b/debian/control new file mode 100644 index 00000000000..b14bc5924c8 --- /dev/null +++ b/debian/control @@ -0,0 +1,88 @@ +Source: emacs22 +Section: editors +Priority: optional +Maintainer: Rob Browning +Uploaders: Jerome Marant +Build-Depends: mailx, libncurses5-dev, texinfo, liblockfile-dev, libungif4-dev, libtiff4-dev | libtiff-dev, xaw3dg-dev, libpng3-dev, libjpeg62-dev, autotools-dev, dpkg-dev (>> 1.10.0), quilt, debhelper (>= 4), libxaw7-dev, sharutils, imagemagick, libgtk2.0-dev +Standards-Version: 3.7.2 + +Package: emacs +Section: editors +Priority: optional +Architecture: all +Depends: emacs22 | emacs22-gtk | emacs22-nox +Provides: emacsen, editor, info-browser, mail-reader, news-reader +Description: The GNU Emacs editor (metapackage) + GNU Emacs is the extensible self-documenting text editor. + This is a metapackage which will always depend on the latest Emacs + release. + +Package: emacs22 +Section: editors +Priority: optional +Architecture: any +Depends: emacs22-bin-common (= ${Source-Version}), ${shlibs:Depends} +Provides: emacsen, editor, info-browser, mail-reader, news-reader +Suggests: emacs22-common-non-dfsg +Conflicts: emacs22-nox, emacs22-gtk, w3-el +Replaces: emacs22-nox, emacs22-gtk +Description: The GNU Emacs editor + GNU Emacs is the extensible self-documenting text editor. + +Package: emacs22-nox +Section: editors +Priority: optional +Architecture: any +Depends: emacs22-bin-common (= ${Source-Version}), ${shlibs:Depends} +Provides: emacs22, editor, emacsen, info-browser, mail-reader, news-reader +Suggests: emacs22-common-non-dfsg +Conflicts: emacs22, emacs22-gtk, w3-el +Replaces: emacs22, emacs22-gtk +Description: The GNU Emacs editor (without X support) + GNU Emacs is the extensible self-documenting text editor. + This package contains a version of Emacs compiled without support for X. + +Package: emacs22-gtk +Section: editors +Priority: optional +Architecture: any +Depends: emacs22-bin-common (= ${Source-Version}), ${shlibs:Depends} +Provides: emacs22, editor, emacsen, info-browser, mail-reader, news-reader +Suggests: emacs22-common-non-dfsg +Conflicts: emacs22, emacs22-nox, w3-el +Replaces: emacs22, emacs22-nox +Description: The GNU Emacs editor (with GTK user interface) + GNU Emacs is the extensible self-documenting text editor. + This package contains a version of Emacs with a GTK user interface. + +Package: emacs22-bin-common +Section: editors +Priority: optional +Architecture: any +Depends: emacs22-common (= ${Source-Version}), ${shlibs:Depends} +Description: The GNU Emacs editor's shared, architecture dependent files + GNU Emacs is the extensible self-documenting text editor. + This package contains the architecture dependent infrastructure + that's shared by emacs22, emacs22-gtk, and emacs22-nox. + +Package: emacs22-common +Section: editors +Priority: optional +Architecture: all +Depends: emacsen-common (>= 1.4.10), dpkg (>= 1.9.0), ${shlibs:Depends} +Suggests: emacs22-el, emacs22-common-non-dfsg +Conflicts: emacs22-el (<< ${Source-Version}), w3-el +Description: The GNU Emacs editor's shared, architecture independent infrastructure + GNU Emacs is the extensible self-documenting text editor. + This package contains the architecture independent infrastructure + that's shared by emacs22, emacs22-gtk, and emacs22-nox. + +Package: emacs22-el +Section: editors +Priority: optional +Architecture: all +Depends: emacs22-common (= ${Source-Version}) +Description: GNU Emacs LISP (.el) files + GNU Emacs is the extensible self-documenting text editor. + This package contains the elisp sources for the convenience of users, + saving space in the main package for small systems. diff --git a/debian/control.in b/debian/control.in new file mode 100644 index 00000000000..d11814fe762 --- /dev/null +++ b/debian/control.in @@ -0,0 +1,88 @@ +Source: @DEB_FLAVOR@ +Section: editors +Priority: optional +Maintainer: Rob Browning +Uploaders: Jerome Marant +Build-Depends: mailx, libncurses5-dev, texinfo, liblockfile-dev, libungif4-dev, libtiff4-dev | libtiff-dev, xaw3dg-dev, libpng3-dev, libjpeg62-dev, autotools-dev, dpkg-dev (>> 1.10.0), quilt, debhelper (>= 4), libxaw7-dev, sharutils, imagemagick, libgtk2.0-dev +Standards-Version: 3.7.2 + +Package: emacs +Section: editors +Priority: optional +Architecture: all +Depends: @DEB_FLAVOR@ | @DEB_FLAVOR@-gtk | @DEB_FLAVOR@-nox +Provides: emacsen, editor, info-browser, mail-reader, news-reader +Description: The GNU Emacs editor (metapackage) + GNU Emacs is the extensible self-documenting text editor. + This is a metapackage which will always depend on the latest Emacs + release. + +Package: @DEB_FLAVOR@ +Section: editors +Priority: optional +Architecture: any +Depends: @DEB_FLAVOR@-bin-common (= ${Source-Version}), ${shlibs:Depends} +Provides: emacsen, editor, info-browser, mail-reader, news-reader +Suggests: @DEB_FLAVOR@-common-non-dfsg +Conflicts: @DEB_FLAVOR@-nox, @DEB_FLAVOR@-gtk, w3-el +Replaces: @DEB_FLAVOR@-nox, @DEB_FLAVOR@-gtk +Description: The GNU Emacs editor + GNU Emacs is the extensible self-documenting text editor. + +Package: @DEB_FLAVOR@-nox +Section: editors +Priority: optional +Architecture: any +Depends: @DEB_FLAVOR@-bin-common (= ${Source-Version}), ${shlibs:Depends} +Provides: @DEB_FLAVOR@, editor, emacsen, info-browser, mail-reader, news-reader +Suggests: @DEB_FLAVOR@-common-non-dfsg +Conflicts: @DEB_FLAVOR@, @DEB_FLAVOR@-gtk, w3-el +Replaces: @DEB_FLAVOR@, @DEB_FLAVOR@-gtk +Description: The GNU Emacs editor (without X support) + GNU Emacs is the extensible self-documenting text editor. + This package contains a version of Emacs compiled without support for X. + +Package: @DEB_FLAVOR@-gtk +Section: editors +Priority: optional +Architecture: any +Depends: @DEB_FLAVOR@-bin-common (= ${Source-Version}), ${shlibs:Depends} +Provides: @DEB_FLAVOR@, editor, emacsen, info-browser, mail-reader, news-reader +Suggests: @DEB_FLAVOR@-common-non-dfsg +Conflicts: @DEB_FLAVOR@, @DEB_FLAVOR@-nox, w3-el +Replaces: @DEB_FLAVOR@, @DEB_FLAVOR@-nox +Description: The GNU Emacs editor (with GTK user interface) + GNU Emacs is the extensible self-documenting text editor. + This package contains a version of Emacs with a GTK user interface. + +Package: @DEB_FLAVOR@-bin-common +Section: editors +Priority: optional +Architecture: any +Depends: @DEB_FLAVOR@-common (= ${Source-Version}), ${shlibs:Depends} +Description: The GNU Emacs editor's shared, architecture dependent files + GNU Emacs is the extensible self-documenting text editor. + This package contains the architecture dependent infrastructure + that's shared by @DEB_FLAVOR@, @DEB_FLAVOR@-gtk, and @DEB_FLAVOR@-nox. + +Package: @DEB_FLAVOR@-common +Section: editors +Priority: optional +Architecture: all +Depends: emacsen-common (>= 1.4.10), dpkg (>= 1.9.0), ${shlibs:Depends} +Suggests: @DEB_FLAVOR@-el, @DEB_FLAVOR@-common-non-dfsg +Conflicts: @DEB_FLAVOR@-el (<< ${Source-Version}), w3-el +Description: The GNU Emacs editor's shared, architecture independent infrastructure + GNU Emacs is the extensible self-documenting text editor. + This package contains the architecture independent infrastructure + that's shared by @DEB_FLAVOR@, @DEB_FLAVOR@-gtk, and @DEB_FLAVOR@-nox. + +Package: @DEB_FLAVOR@-el +Section: editors +Priority: optional +Architecture: all +Depends: @DEB_FLAVOR@-common (= ${Source-Version}) +Description: GNU Emacs LISP (.el) files + GNU Emacs is the extensible self-documenting text editor. + This package contains the elisp sources for the convenience of users, + saving space in the main package for small systems. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 00000000000..c94fe0b5baf --- /dev/null +++ b/debian/copyright @@ -0,0 +1,125 @@ +-*-text-*- + +This package was debianized by Rob Browning on +Tue, 16 Dec 1997 00:05:45 -0600. + +This is the original source archive: + + prep.ai.mit.edu:/pub/gnu/emacs/emacs-22.0.99.tar.gz + +Please see /usr/share/doc/emacs22-common/README.Debian.gz for a +description of the Debian specific differences from the upstream +version. + +As mentioned there, some files (including some of the Emacs +documentation) have been removed from this package because their +licenses do not appear to satisfy the requirements of the Debian Free +Software Guidelines (DFSG). See http://www.debian.org/social_contract. + +In particular, some of the info pages are covered under the GNU Free +Documentation License (GFDL), which Debian has decided does not +satisfy the DFSG in cases where "Invariant Sections" are specified +(this includes front and back cover texts). See this Debian General +Resolution on the topic: http://www.debian.org/vote/2006/vote_001. + +Some other files have been removed because their license only allows +verbatim copying, or because there was some other question. + +Copyright: + + Emacs itself is licensed under the terms of the GNU General Public + License (GPL). See the file /usr/share/common-licenses/GPL for more + information. + + etc/eterm.1 is licensed as follows: + + Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Free Software Foundation, Inc. + + Permission is granted to make and distribute verbatim copies of + this document provided the copyright notice and this permission + notice are preserved on all copies. + + Permission is granted to copy and distribute modified versions + of this document under the conditions for verbatim copying, + provided that the entire resulting derived work is distributed + under the terms of a permission notice identical to this one. + + Permission is granted to copy and distribute translations of + this document into another language, under the above conditions + for modified versions, except that this permission notice may be + stated in a translation approved by the Free Software + Foundation. + + etc/emacs.1 is licensed as follows: + + Copyright (C) 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, + 2006, 2007 Free Software Foundation, Inc. + + Permission is granted to make and distribute verbatim copies of + this document provided the copyright notice and this permission + notice are preserved on all copies. + + Permission is granted to copy and distribute modified versions + of this document under the conditions for verbatim copying, + provided that the entire resulting derived work is distributed + under the terms of a permission notice identical to this one. + + Permission is granted to copy and distribute translations of + this document into another language, under the above conditions + for modified versions, except that this permission notice may be + stated in a translation approved by the Free Software + Foundation. + + man/dired-x.texi is licensed as follows: + + Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, + 2005, 2006, 2007 Free Software Foundation, Inc. + + Permission is granted to make and distribute verbatim copies of + this manual provided the copyright notice and this permission + notice are preserved on all copies. + + Permission is granted to copy and distribute modified versions + of this manual under the conditions for verbatim copying, + provided that the entire resulting derived work is distributed + under the terms of a permission notice identical to this one. + + Permission is granted to copy and distribute translations of + this manual into another language, under the above conditions + for modified versions, except that this permission notice may be + stated in a translation approved by the Free Software + Foundation. + + The file used to create this is called dired-x.texi, but the + original work that was altered to make that file was called + dired.texi written by Sebastian Kremer. + + Permission is granted to process this file through TeX and print + the results, provided the printed document carries copying + permission notice identical to this one except for the removal + of this paragraph (this paragraph not being relevant to the + printed manual). + + man/faq.texi is licensed as follows: + + Copyright (C) 1994,1995,1996,1997,1998,1999,2000 Reuven M. Lerner + Copyright (C) 1992,1993 Steven Byrnes + Copyright (C) 1990,1991,1992 Joseph Brian Wells + + This list of frequently asked questions about GNU Emacs with + answers ("FAQ") may be translated into other languages, + transformed into other formats (e.g. Texinfo, Info, WWW, WAIS), + and updated with new information. + + The same conditions apply to any derivative of the FAQ as apply + to the FAQ itself. Every copy of the FAQ must include this + notice or an approved translation, information on who is + currently maintaining the FAQ and how to contact them (including + their e-mail address), and information on where the latest + version of the FAQ is archived (including FTP information). + + The FAQ may be copied and redistributed under these conditions, + except that the FAQ may not be embedded in a larger literary + work unless that work itself allows free copying and + redistribution. diff --git a/debian/copyright.in b/debian/copyright.in new file mode 100644 index 00000000000..616de159caa --- /dev/null +++ b/debian/copyright.in @@ -0,0 +1,125 @@ +-*-text-*- + +This package was debianized by Rob Browning on +Tue, 16 Dec 1997 00:05:45 -0600. + +This is the original source archive: + + prep.ai.mit.edu:/pub/gnu/emacs/emacs-@UPSTREAM_VERSION@.tar.gz + +Please see /usr/share/doc/@DEB_FLAVOR@-common/README.Debian.gz for a +description of the Debian specific differences from the upstream +version. + +As mentioned there, some files (including some of the Emacs +documentation) have been removed from this package because their +licenses do not appear to satisfy the requirements of the Debian Free +Software Guidelines (DFSG). See http://www.debian.org/social_contract. + +In particular, some of the info pages are covered under the GNU Free +Documentation License (GFDL), which Debian has decided does not +satisfy the DFSG in cases where "Invariant Sections" are specified +(this includes front and back cover texts). See this Debian General +Resolution on the topic: http://www.debian.org/vote/2006/vote_001. + +Some other files have been removed because their license only allows +verbatim copying, or because there was some other question. + +Copyright: + + Emacs itself is licensed under the terms of the GNU General Public + License (GPL). See the file /usr/share/common-licenses/GPL for more + information. + + etc/eterm.1 is licensed as follows: + + Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 + Free Software Foundation, Inc. + + Permission is granted to make and distribute verbatim copies of + this document provided the copyright notice and this permission + notice are preserved on all copies. + + Permission is granted to copy and distribute modified versions + of this document under the conditions for verbatim copying, + provided that the entire resulting derived work is distributed + under the terms of a permission notice identical to this one. + + Permission is granted to copy and distribute translations of + this document into another language, under the above conditions + for modified versions, except that this permission notice may be + stated in a translation approved by the Free Software + Foundation. + + etc/emacs.1 is licensed as follows: + + Copyright (C) 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, + 2006, 2007 Free Software Foundation, Inc. + + Permission is granted to make and distribute verbatim copies of + this document provided the copyright notice and this permission + notice are preserved on all copies. + + Permission is granted to copy and distribute modified versions + of this document under the conditions for verbatim copying, + provided that the entire resulting derived work is distributed + under the terms of a permission notice identical to this one. + + Permission is granted to copy and distribute translations of + this document into another language, under the above conditions + for modified versions, except that this permission notice may be + stated in a translation approved by the Free Software + Foundation. + + man/dired-x.texi is licensed as follows: + + Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, + 2005, 2006, 2007 Free Software Foundation, Inc. + + Permission is granted to make and distribute verbatim copies of + this manual provided the copyright notice and this permission + notice are preserved on all copies. + + Permission is granted to copy and distribute modified versions + of this manual under the conditions for verbatim copying, + provided that the entire resulting derived work is distributed + under the terms of a permission notice identical to this one. + + Permission is granted to copy and distribute translations of + this manual into another language, under the above conditions + for modified versions, except that this permission notice may be + stated in a translation approved by the Free Software + Foundation. + + The file used to create this is called dired-x.texi, but the + original work that was altered to make that file was called + dired.texi written by Sebastian Kremer. + + Permission is granted to process this file through TeX and print + the results, provided the printed document carries copying + permission notice identical to this one except for the removal + of this paragraph (this paragraph not being relevant to the + printed manual). + + man/faq.texi is licensed as follows: + + Copyright (C) 1994,1995,1996,1997,1998,1999,2000 Reuven M. Lerner + Copyright (C) 1992,1993 Steven Byrnes + Copyright (C) 1990,1991,1992 Joseph Brian Wells + + This list of frequently asked questions about GNU Emacs with + answers ("FAQ") may be translated into other languages, + transformed into other formats (e.g. Texinfo, Info, WWW, WAIS), + and updated with new information. + + The same conditions apply to any derivative of the FAQ as apply + to the FAQ itself. Every copy of the FAQ must include this + notice or an approved translation, information on who is + currently maintaining the FAQ and how to contact them (including + their e-mail address), and information on where the latest + version of the FAQ is archived (including FTP information). + + The FAQ may be copied and redistributed under these conditions, + except that the FAQ may not be embedded in a larger literary + work unless that work itself allows free copying and + redistribution. diff --git a/debian/dfsg-splitter b/debian/dfsg-splitter new file mode 100644 index 00000000000..cd2c9f0d93f --- /dev/null +++ b/debian/dfsg-splitter @@ -0,0 +1,140 @@ +#!/bin/bash + +set -e +set -x + +# Usage: put the relevant emacs archive into the current directory and +# run the script. The resulting two orig.tar.gz files will be placed +# into a new ./split-tmp directory. + +emacs_archive_name="emacs-22.0.99.tar.gz" +emacs_dir="emacs-22.0.99" +emacs_version="22.0.99" +emacs_major="22" +deb_src_rev="1" + +non_main_dir="${emacs_dir}-non-dfsg" + +if ! test root = "`whoami`" +then + echo Use fakeroot. + exit 1 +fi + +if test -e split-tmp +then + echo "./split-tmp already exists - aborting" + exit 1 +fi + +mkdir ./split-tmp +pushd split-tmp + +umask 002 + +tar xzf "../${emacs_archive_name}" + +find "${emacs_dir}" -name "*.elc" -exec rm {} + +find "${emacs_dir}"/info -type f -not -name "COPYING" -exec rm {} + + +mkdir "${non_main_dir}" + +function move_to_non_main_dir() +{ + pushd "${emacs_dir}" + test "$1" + test ! -e "../${non_main_dir}/$1" + cp -a --parents "$1" "../${non_main_dir}/" + rm -r "$1" + popd +} + +function copy_to_non_main_dir() +{ + pushd "${emacs_dir}" + cp -a --parents "$1" "../${non_main_dir}/" + popd +} + +function remove_from_main_dir() +{ + pushd "${emacs_dir}" + rm "$1" + popd +} + +# assumes someone has already copied file to non-main dir +function move_to_main_dir() +{ + pushd "${non_main_dir}" + cp -a --parents "$1" "../${emacs_dir}/" + rm "$1" + popd +} + +# assumes someone has already copied file to non-main dir +function copy_to_main_dir() +{ + pushd "${non_main_dir}" + cp -a --parents "$1" "../${emacs_dir}/" + popd +} + + + +# So both sides will have a copy (at the very least, version.el refers to it). +copy_to_non_main_dir "etc/COPYING" + +# verbatim dist only +move_to_non_main_dir "etc/CENSORSHIP" +move_to_non_main_dir "etc/copying.paper" +move_to_non_main_dir "etc/LINUX-GNU" +move_to_non_main_dir "etc/THE-GNU-PROJECT" +move_to_non_main_dir "etc/WHY-FREE" +move_to_non_main_dir "etc/GNU" +move_to_non_main_dir "etc/MOTIVATION" + +# GFDL +move_to_non_main_dir "lispintro" +move_to_non_main_dir "lispref" + +# reprinted with permissions or copyright mentioned +# no modification mention +move_to_non_main_dir "etc/INTERVIEW" + +# Assuming modification not allowed by default (emails, etc.) +move_to_non_main_dir "etc/COOKIES" +move_to_non_main_dir "etc/DEVEL.HUMOR" +move_to_non_main_dir "etc/JOKES" + +# This is used via debian/rules to track the nominal_ver. +copy_to_non_main_dir "lisp/version.el" + +# man files which appear to be compatible with the DFSG +dfsg_man_files=" + dired-x.texi + faq.texi" + +pushd "${emacs_dir}" +mkdir ../"${non_main_dir}"/man +mv man/* ../"${non_main_dir}"/man/ +popd + +# want these files in both archives, so put them back +copy_to_main_dir "man/ChangeLog" +copy_to_main_dir "man/Makefile.in" + +for f in ${dfsg_man_files} +do + move_to_main_dir "man/$f" +done + +GZIP=-9v tar czpSf \ + "emacs${emacs_major}_${emacs_version}+${deb_src_rev}.orig.tar.gz" \ + "${emacs_dir}" + +GZIP=-9v tar czpSf \ + "emacs${emacs_major}-non-dfsg_${emacs_version}+${deb_src_rev}.orig.tar.gz" \ + "${emacs_dir}"-non-dfsg + +exit 0 diff --git a/debian/emacsVER-bin-common.postinst b/debian/emacsVER-bin-common.postinst new file mode 100644 index 00000000000..60599491782 --- /dev/null +++ b/debian/emacsVER-bin-common.postinst @@ -0,0 +1,29 @@ +#!/bin/sh -e + +FLAVOR=@DEB_FLAVOR@ +MAJOR=@MAJOR_VERSION@ +MINOR=@MINOR_VERSION@ +FULL=@FULL_VERSION@ +ALTERNATIVES="@ALTERNATIVES@" +BIN_PRIORITY=@BIN_PRIORITY@ + +# update-alternatives on things that collide with xemacs, other editors +for i in ctags etags emacsclient +do + update-alternatives \ + --install /usr/bin/$i $i /usr/bin/$i.${FLAVOR} ${BIN_PRIORITY} \ + --slave /usr/share/man/man1/$i.1.gz $i.1.gz \ + /usr/share/man/man1/$i.1${FLAVOR}.gz +done + +for i in ${ALTERNATIVES} +do + test $i = ctags && continue + test $i = etags && continue + test $i = emacs && continue + test $i = emacsclient && continue + update-alternatives --install /usr/bin/$i $i /usr/bin/$i.${FLAVOR} \ + ${BIN_PRIORITY} +done + +#DEBHELPER# diff --git a/debian/emacsVER-bin-common.prerm b/debian/emacsVER-bin-common.prerm new file mode 100644 index 00000000000..7ae55b51996 --- /dev/null +++ b/debian/emacsVER-bin-common.prerm @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +FLAVOR=@DEB_FLAVOR@ +MAJOR=@MAJOR_VERSION@ +MINOR=@MINOR_VERSION@ +FULL=@FULL_VERSION@ +ALTERNATIVES="@ALTERNATIVES@" + +# update-alternatives on things that collide with xemacs, other editors +if [ "$1" != "upgrade" ] +then + for i in ${ALTERNATIVES} + do + test $i = emacs && continue + update-alternatives --remove $i /usr/bin/$i.${FLAVOR} + done +fi + +#DEBHELPER# + diff --git a/debian/emacsVER-common.README b/debian/emacsVER-common.README new file mode 100644 index 00000000000..4181e028ce7 --- /dev/null +++ b/debian/emacsVER-common.README @@ -0,0 +1,42 @@ +This file details the Debian specific changes to Emacs. + +The following tags may be used in the sections below: Patch, Status, +Author, Added-by, Provided-by, and Date. When known, Author is used +to indicate the person believed to have written the relevant code. +Provided-by may be used to indicate the person who submitted the code +to Debian, and Added-by indicates the person who actually added the +code to the Debian package. + +* The Debian copy of the upstream source contains no .elc files. + + The .elc files have been removed because we always regenerate them + and because Emacs modifies them in the source tree during the build + process, even when using a VPATH build. This means that a "make + clean" can't easily return the tree to the upstream state, resulting + in a giant Debian binary diff. There are other solutions if this + turns out to be a problem. If nothing else, we can keep the current + infrastructure and just add the .elc files to protected_files in + debian/rules. Removing the .elc files doesn't affect whether or not + our source archive would match the upstream md5sum because we have + to repackage it anyway to add leim support. + +* The etc/yow.lines file has been updated from the upstream development tree. + +The etc/yow.lines file in the Debian package is newer than the one in +the original distribution. It has been copied from the upstream Emacs +development tree. + +* The -i icon is the Emacs GNU. + +* Those who prefer the old-style scrollbars can edit debian/rules + + If you prefer the old-style, non-toolkit scrollbars, just edit + debian/rules to add --without-toolkit-scrollbars where indicated and + rebuild. + +@@PATCH_LIST_HERE@@ + +Local Variables: +mode: outline +outline-regexp: " *\\*+" +End: diff --git a/debian/emacsVER-common.docs b/debian/emacsVER-common.docs new file mode 100644 index 00000000000..8b0bc5916cc --- /dev/null +++ b/debian/emacsVER-common.docs @@ -0,0 +1,3 @@ +BUGS +README +debian/README.add-on-package-maintainers diff --git a/debian/emacsVER-common.postinst b/debian/emacsVER-common.postinst new file mode 100644 index 00000000000..f4c5d654788 --- /dev/null +++ b/debian/emacsVER-common.postinst @@ -0,0 +1,41 @@ +#!/bin/sh -e + +MAJOR=@MAJOR_VERSION@ +MINOR=@MINOR_VERSION@ +FULL=@FULL_VERSION@ +INFO_FILES="@INFO_FILES@" +INFO_SUBDIR="@INFO_SUBDIR@" + +for file in ${INFO_FILES} +do + install-info --quiet --section Emacs "Emacs ${MAJOR}" \ + /usr/share/info/${INFO_SUBDIR}/${file}.gz || true +done + +# Create the site-lisp dir for this flavor if we're allowed + +parentdir=/usr/local/share/emacs +newdir=${FULL} + +if [ -d ${parentdir} ] +then + if mkdir ${parentdir}/${newdir} 2>/dev/null + then + chown root:staff ${parentdir}/${newdir} + chmod 2775 ${parentdir}/${newdir} + fi +fi + +parentdir=/usr/local/share/emacs/${FULL} +newdir=site-lisp + +if [ -d ${parentdir} ] +then + if mkdir ${parentdir}/${newdir} 2>/dev/null + then + chown root:staff ${parentdir}/${newdir} + chmod 2775 ${parentdir}/${newdir} + fi +fi + +#DEBHELPER# diff --git a/debian/emacsVER-common.prerm b/debian/emacsVER-common.prerm new file mode 100644 index 00000000000..b1aefd4364e --- /dev/null +++ b/debian/emacsVER-common.prerm @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +MAJOR=@MAJOR_VERSION@ +MINOR=@MINOR_VERSION@ +FULL=@FULL_VERSION@ +INFO_FILES="@INFO_FILES@" +INFO_SUBDIR="@INFO_SUBDIR@" + +for file in ${INFO_FILES} +do + install-info --quiet --remove-exactly ${INFO_SUBDIR}/${file} || true +done + +# emacsen-common/emacs-remove used to be here. + +(rmdir /usr/local/share/emacs/${FULL}/site-lisp 2>/dev/null && \ + rmdir /usr/local/share/emacs/${FULL} 2>/dev/null) || true + +#DEBHELPER# diff --git a/debian/emacsVER.README b/debian/emacsVER.README new file mode 100644 index 00000000000..f1608a89554 --- /dev/null +++ b/debian/emacsVER.README @@ -0,0 +1,3 @@ + +Please see /usr/share/doc/@PKG_NAME@-common/ as the primary +documentation directory. diff --git a/debian/emacsVER.README.Debian b/debian/emacsVER.README.Debian new file mode 100644 index 00000000000..ceef8629f2e --- /dev/null +++ b/debian/emacsVER.README.Debian @@ -0,0 +1,3 @@ + +Please see /usr/share/doc/emacs@MAJOR_VERSION@-common/ as the primary +documentation directory. diff --git a/debian/emacsVER.desktop b/debian/emacsVER.desktop new file mode 100644 index 00000000000..f37f10bf034 --- /dev/null +++ b/debian/emacsVER.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Version=1.0 +Encoding=UTF-8 +Name=Emacs @MENU_VERSION@ (X11) +GenericName=Emacs +Comment=GNU Emacs Text Editor @MENU_VERSION@ +Exec=/usr/bin/@DEB_FLAVOR@ +TryExec=@DEB_FLAVOR@ +Terminal=false +Type=Application +Icon=/usr/share/emacs/@FULL_VERSION@/etc/images/icons/emacs_48.png +Categories=Application;Utility;TextEditor; +MimeType=text/plain diff --git a/debian/emacsVER.menu b/debian/emacsVER.menu new file mode 100644 index 00000000000..3be7d04be16 --- /dev/null +++ b/debian/emacsVER.menu @@ -0,0 +1,17 @@ +?package(@PKG_NAME@):\ + needs="X11"\ + section="Apps/Editors"\ + title="Emacs @MENU_VERSION@ (X11)"\ + command="/usr/bin/@DEB_FLAVOR@"\ + icon16x16="/usr/share/emacs/@FULL_VERSION@/etc/images/icons/emacs_16.xpm"\ + icon32x32="/usr/share/emacs/@FULL_VERSION@/etc/images/icons/emacs_32.xpm"\ + hints="Text" + +?package(@PKG_NAME@):\ + needs="text"\ + section="Apps/Editors"\ + title="Emacs @MENU_VERSION@ (text)"\ + command="/usr/bin/@DEB_FLAVOR@ -nw"\ + icon16x16="/usr/share/emacs/@FULL_VERSION@/etc/images/icons/emacs_16.xpm"\ + icon32x32="/usr/share/emacs/@FULL_VERSION@/etc/images/icons/emacs_32.xpm"\ + hints="Text" diff --git a/debian/emacsVER.postinst b/debian/emacsVER.postinst new file mode 100644 index 00000000000..75a0548ce64 --- /dev/null +++ b/debian/emacsVER.postinst @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +FLAVOR=@DEB_FLAVOR@ + +update-alternatives \ + --install /usr/bin/emacs emacs \ + /usr/bin/${FLAVOR}-@X_SUPPORT@ @BIN_PRIORITY@ \ + --slave /usr/share/man/man1/emacs.1.gz emacs.1.gz \ + /usr/share/man/man1/emacs.1${FLAVOR}.gz + +update-alternatives \ + --install /usr/bin/editor editor \ + /usr/bin/${FLAVOR} 0 \ + --slave /usr/share/man/man1/editor.1.gz editor.1.gz \ + /usr/share/man/man1/emacs.1${FLAVOR}.gz + +# emacsen-common registration. +/usr/lib/emacsen-common/emacs-install ${FLAVOR} + +#DEBHELPER# diff --git a/debian/emacsVER.prerm b/debian/emacsVER.prerm new file mode 100644 index 00000000000..bbc877e8018 --- /dev/null +++ b/debian/emacsVER.prerm @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +MAJOR=@MAJOR_VERSION@ +FLAVOR=@DEB_FLAVOR@ + +# update-alternatives on things that collide with xemacs, other editors +if [ "$1" != "upgrade" ] +then + update-alternatives --remove emacs /usr/bin/${FLAVOR}-@X_SUPPORT@ + update-alternatives --remove editor /usr/bin/${FLAVOR} +fi + +# emacsen-common registration. +/usr/lib/emacsen-common/emacs-remove ${FLAVOR} + +#DEBHELPER# diff --git a/debian/mangle-info b/debian/mangle-info new file mode 100644 index 00000000000..3ac0e323cba --- /dev/null +++ b/debian/mangle-info @@ -0,0 +1,17 @@ +#!/usr/bin/perl -w -i + +use English; +use strict; + +$RS = undef; + +my $prefix = $ENV{"DEBIAN_INFO_PREFIX"}; + +my $x = <>; +if(!($x =~ m/^(\s*START-INFO-DIR-ENTRY\s+\*\s*[^:]+:\s*)\(([^\)]+)\)/mo)) { + die "Couldn't find START-INFO-DIR-ENTRY."; +} + +print ${PREMATCH}; +print "$1($prefix/$2)"; +print ${POSTMATCH}; diff --git a/debian/missing-file.dfsg b/debian/missing-file.dfsg new file mode 100644 index 00000000000..47ad34108a9 --- /dev/null +++ b/debian/missing-file.dfsg @@ -0,0 +1,10 @@ + +The file that would normally be displayed here (@FILE@) has been moved +to the emacs@MAJOR_VERSION@-common-non-dfsg package because its +license does not appear to be compatible with the Debian Free Software +Guidelines (DFSG). Please see +/usr/share/doc/emacs@MAJOR_VERSION@-common/copyright for more +information. + +Please install @FILE@ from Debian's non-free distribution if you would +like for Emacs to display the original file. diff --git a/debian/patches/autofiles.diff b/debian/patches/autofiles.diff new file mode 100644 index 00000000000..b09501fb501 --- /dev/null +++ b/debian/patches/autofiles.diff @@ -0,0 +1,56 @@ +* The autoconf related files have been updated. + Patch: autofiles.dpatch + Author: N/A (automatically generated) +diff -ruN old/configure new/configure +--- old/configure 2007-05-13 17:25:24.000000000 -0700 ++++ new/configure 2007-05-13 17:25:35.000000000 -0700 +@@ -17907,11 +17907,13 @@ + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ +-#include ++#include /* for off_t */ ++ #include + int + main () + { +-return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0); ++int (*fp) (FILE *, off_t, int) = fseeko; ++ return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; + } +@@ -17951,11 +17953,13 @@ + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + #define _LARGEFILE_SOURCE 1 +-#include ++#include /* for off_t */ ++ #include + int + main () + { +-return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0); ++int (*fp) (FILE *, off_t, int) = fseeko; ++ return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; + } +@@ -23156,7 +23160,7 @@ + rm -f conftest* + + +-ac_config_files="$ac_config_files Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile man/Makefile lwlib/Makefile src/Makefile.c:src/Makefile.in lisp/Makefile lispref/Makefile lispintro/Makefile leim/Makefile" ++ac_config_files="$ac_config_files Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile man/Makefile lwlib/Makefile src/Makefile.c:src/Makefile.in lisp/Makefile leim/Makefile" + + ac_config_commands="$ac_config_commands default" + +@@ -23730,8 +23734,6 @@ + "lwlib/Makefile") CONFIG_FILES="$CONFIG_FILES lwlib/Makefile" ;; + "src/Makefile.c") CONFIG_FILES="$CONFIG_FILES src/Makefile.c:src/Makefile.in" ;; + "lisp/Makefile") CONFIG_FILES="$CONFIG_FILES lisp/Makefile" ;; +- "lispref/Makefile") CONFIG_FILES="$CONFIG_FILES lispref/Makefile" ;; +- "lispintro/Makefile") CONFIG_FILES="$CONFIG_FILES lispintro/Makefile" ;; + "leim/Makefile") CONFIG_FILES="$CONFIG_FILES leim/Makefile" ;; + "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; + diff --git a/debian/patches/avoid-fakemail-mail-loss.diff b/debian/patches/avoid-fakemail-mail-loss.diff new file mode 100644 index 00000000000..864aba602d0 --- /dev/null +++ b/debian/patches/avoid-fakemail-mail-loss.diff @@ -0,0 +1,91 @@ +* An attempt is made to avoid silently losing mail via fakemail. + Patch: avoid-fakemail-mail-loss.diff + Author: Rob Browning + Added-by: Rob Browning + + This fix attempts to avoid a situation where Emacs can silently lose + mail. This can occur if sendmail.el (at least) falls back to + fakemail, and the underlying binary (MAIL_PROGRAM_NAME) that + fakemail is configured to use doesn't exist. Unless + mail-interactive is true, Emacs won't wait for the mailer and so + won't know that fakemail failed. + + For now, Debian sets fakemail's MAIL_PROGRAM_NAME to /usr/bin/mail + (which is the correct value for Debian systems) rather than + /bin/mail. Debian also adjusts Emacs to test for the existence of + /usr/bin/mail before trying to run fakemail. This is not an ideal + solution, but it should be an improvement. + + Note that Debian forces the value to /usr/bin/mail. The build will + fail if any other value is specified. This is done to ensure that + MAIL_PROGRAM_NAME isn't accidentally set to some other value during + the build process. If this is undesirable for some reason, just + commment out avoid-fakemail-loss.diff in debian/patches/series. + +Index: sid/lib-src/fakemail.c +=================================================================== +--- sid.orig/lib-src/fakemail.c ++++ sid/lib-src/fakemail.c +@@ -135,8 +135,10 @@ + #define NIL ((line_list) NULL) + #define INITIAL_LINE_SIZE 200 + +-#ifndef MAIL_PROGRAM_NAME +-#define MAIL_PROGRAM_NAME "/bin/mail" ++#ifdef MAIL_PROGRAM_NAME ++#error "Debian assumption violated -- see avoid-fakemail-mail-loss.diff" ++#else ++#define MAIL_PROGRAM_NAME "/usr/bin/mail" + #endif + + static char *my_name; +Index: sid/lisp/mail/feedmail.el +=================================================================== +--- sid.orig/lisp/mail/feedmail.el ++++ sid/lisp/mail/feedmail.el +@@ -1348,7 +1348,10 @@ + "/usr/lib/sendmail") + ((file-exists-p "/usr/ucblib/sendmail") + "/usr/ucblib/sendmail") +- (t "fakemail")) ++ (t ++ (if (not (file-executable-p "/usr/bin/mail")) ++ (error "/usr/bin/mail is not executable")) ++ "fakemail")) + nil errors-to nil "-oi" "-t") + ;; provide envelope "from" to sendmail; results will vary + (list "-f" user-mail-address) +Index: sid/lisp/mail/sendmail.el +=================================================================== +--- sid.orig/lisp/mail/sendmail.el ++++ sid/lisp/mail/sendmail.el +@@ -53,7 +53,10 @@ + ((file-exists-p "/usr/sbin/sendmail") "/usr/sbin/sendmail") + ((file-exists-p "/usr/lib/sendmail") "/usr/lib/sendmail") + ((file-exists-p "/usr/ucblib/sendmail") "/usr/ucblib/sendmail") +- (t "fakemail")) ;In ../etc, to interface to /bin/mail. ++ (t ++ (if (not (file-executable-p "/usr/bin/mail")) ++ (error "/usr/bin/mail is not executable")) ++ "fakemail")) ;In ../etc, to interface to /bin/mail. + "Program used to send messages." + :group 'mail + :type 'file) +Index: sid/lisp/gnus/message.el +=================================================================== +--- sid.orig/lisp/gnus/message.el ++++ sid/lisp/gnus/message.el +@@ -4027,7 +4027,12 @@ + "/usr/lib/sendmail") + ((file-exists-p "/usr/ucblib/sendmail") + "/usr/ucblib/sendmail") +- (t "fakemail")) ++ (t ++ (if (not ++ (file-executable-p "/usr/bin/mail")) ++ (error ++ "/usr/bin/mail is not executable")) ++ "fakemail")) + nil errbuf nil "-oi") + ;; Always specify who from, + ;; since some systems have broken sendmails. diff --git a/debian/patches/debian-adjust-mail-from-addresses.diff b/debian/patches/debian-adjust-mail-from-addresses.diff new file mode 100644 index 00000000000..382d20f9858 --- /dev/null +++ b/debian/patches/debian-adjust-mail-from-addresses.diff @@ -0,0 +1,46 @@ +* The default handling of mail from addresses has been changed. + Patch: debian-adjust-mail-from-addresses.diff + Bug: 7051 35128 + + * The default for message-sendmail-f-is-evil has been changed to t. + + This is correct for Debian systems where we know the MTA should be + trusted. + + * The default mail-from-style is 'system-default rather than 'angles. + +Index: sid/lisp/gnus/message.el +=================================================================== +--- sid.orig/lisp/gnus/message.el ++++ sid/lisp/gnus/message.el +@@ -738,9 +738,14 @@ + (const never) + (const ask))) + +-(defcustom message-sendmail-f-is-evil nil +- "*Non-nil means don't add \"-f username\" to the sendmail command line. +-Doing so would be even more evil than leaving it out." ++;; message-sendmail-f-is-evil is nil here in the upstream source, but ++;; sendmail works right under Debian Linux, so we want t. [was ++;; orignally reported for emacs 19 as debian#7051] ++(defcustom message-sendmail-f-is-evil t ++ "*Non-nil means don't add \"-f username\" to the sendmail command ++line, because adding it would be more evil than leaving it out. Under ++Debian/GNU/Linux, sendmail works right, so it should be safe for this ++to be set to true." + :group 'message-sending + :link '(custom-manual "(message)Mail Variables") + :type 'boolean) +Index: sid/lisp/mail/sendmail.el +=================================================================== +--- sid.orig/lisp/mail/sendmail.el ++++ sid/lisp/mail/sendmail.el +@@ -59,7 +59,7 @@ + :type 'file) + + ;;;###autoload +-(defcustom mail-from-style 'angles ++(defcustom mail-from-style 'system-default + "Specifies how \"From:\" fields look. + + If `nil', they contain just the return address like: diff --git a/debian/patches/debian-startup.diff b/debian/patches/debian-startup.diff new file mode 100644 index 00000000000..4be3e3e22ce --- /dev/null +++ b/debian/patches/debian-startup.diff @@ -0,0 +1,47 @@ +* Emacs runs debian-startup and sets debian-emacs-flavor. + Patch: debian-startup.diff + + * Emacs runs debian-startup during the startup process unless + site-run-file is false. + + * The global variable debian-emacs-flavor is bound to 'emacs22. + Author: Rob Browning + +Index: sid/lisp/startup.el +=================================================================== +--- sid.orig/lisp/startup.el ++++ sid/lisp/startup.el +@@ -295,6 +295,10 @@ + (defvar pure-space-overflow nil + "Non-nil if building Emacs overflowed pure space.") + ++(defconst debian-emacs-flavor 'emacs22 ++ "A symbol representing the particular debian flavor of emacs running. ++Something like 'emacs20, 'xemacs20, etc.") ++ + (defun normal-top-level-add-subdirs-to-load-path () + "Add all subdirectories of current directory to `load-path'. + More precisely, this uses only the subdirectories whose names +@@ -815,8 +819,21 @@ + ;; Run the site-start library if it exists. The point of this file is + ;; that it is run before .emacs. There is no point in doing this after + ;; .emacs; that is useless. ++ ++ ;; Original upstream startup ++ ;; (if site-run-file ++ ;; (load site-run-file t t)) ++ ;; ++ ++ ;; Debian startup + (if site-run-file +- (load site-run-file t t)) ++ (progn ++ ;; Load all the debian package snippets. ++ ;; It's in here because we want -q to kill it too. ++ (if (load "debian-startup" t t nil) ++ (debian-startup debian-emacs-flavor)) ++ ;; Now the normal site file... ++ (load site-run-file t t nil))) + + ;; Sites should not disable this. Only individuals should disable + ;; the startup message. diff --git a/debian/patches/fix-vc-path.diff b/debian/patches/fix-vc-path.diff new file mode 100644 index 00000000000..b0fb4d88d25 --- /dev/null +++ b/debian/patches/fix-vc-path.diff @@ -0,0 +1,19 @@ +* The default vc-path variable value has been adjusted for Debian. + Patch: fix-vc-path.diff + Bug: 120079 + +Index: sid/lisp/vc-hooks.el +=================================================================== +--- sid.orig/lisp/vc-hooks.el ++++ sid/lisp/vc-hooks.el +@@ -73,8 +73,8 @@ + :group 'vc) + + (defcustom vc-path +- (if (file-directory-p "/usr/sccs") +- '("/usr/sccs") ++ (if (file-directory-p "/usr/lib/cssc") ++ '("/usr/lib/cssc") + nil) + "*List of extra directories to search for version control commands." + :type '(repeat directory) diff --git a/debian/patches/handle-dfsg-split.diff b/debian/patches/handle-dfsg-split.diff new file mode 100644 index 00000000000..f17bf9f86cd --- /dev/null +++ b/debian/patches/handle-dfsg-split.diff @@ -0,0 +1,493 @@ +* Files apparently incompatible with the DFSG have been removed. + + A number of files have been removed from this package because their + licenses are not compatible with the Debian Free Software Guidelines + (DFSG), or because it wasn't completely clear that their licenses + are compatible. + + In particular, all of the files which are covered under the GFDL and + have invariant sections have been removed in accordance with this + General Resolution: http://www.debian.org/vote/2006/vote_001. + + The files that have been removed, but still appear to be + distributable, have been moved to packages in Debian's non-free + section. + + Patch: handle-dfsg-split.diff + Author: Rob Browning + Added-by: Rob Browning + Status: new + +Index: sid/lisp/help.el +=================================================================== +--- sid.orig/lisp/help.el ++++ sid/lisp/help.el +@@ -279,6 +279,14 @@ + + ;;; `User' help functions + ++(defun debian-expand-file-name-dfsg (filename) ++ "Apply expand-file-name to FILENAME. ++If expand-file-name does not find a file, append `.dfsg' and try again." ++ (let ((file (expand-file-name file data-directory))) ++ (if (file-exists-p file) ++ file ++ (expand-file-name (concat file ".dfsg") data-directory)))) ++ + (defun describe-distribution () + "Display info on how to obtain the latest version of GNU Emacs." + (interactive) +@@ -293,7 +301,7 @@ + (defun describe-project () + "Display info on the GNU project." + (interactive) +- (view-file (expand-file-name "THE-GNU-PROJECT" data-directory)) ++ (view-file (debian-expand-file-name-dfsg "THE-GNU-PROJECT" data-directory)) + (goto-char (point-min))) + + (defun describe-no-warranty () +Index: sid/Makefile.in +=================================================================== +--- sid.orig/Makefile.in ++++ sid/Makefile.in +@@ -138,11 +138,7 @@ + # since there are now many packages documented with the texinfo + # system, it is inappropriate to imply that it is part of Emacs. + infodir=@infodir@ +-INFO_FILES=ada-mode autotype calc ccmode cl dired-x ebrowse ediff efaq \ +- elisp eintr emacs emacs-mime eshell eudc flymake \ +- forms gnus idlwave info message mh-e newsticker org pcl-cvs \ +- pgg reftex sc ses sieve speedbar tramp vip viper widget \ +- woman smtpmail url rcirc erc ++INFO_FILES=dired-x efaq + + # Directory for local state files for all programs. + localstatedir=@localstatedir@ +@@ -250,7 +246,7 @@ + SUBDIR = lib-src src + + # The makefiles of the directories in $SUBDIR. +-SUBDIR_MAKEFILES = lib-src/Makefile man/Makefile lispref/Makefile lispintro/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefile leim/Makefile ++SUBDIR_MAKEFILES = lib-src/Makefile man/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefile leim/Makefile + + # Subdirectories to install, and where they'll go. + # lib-src's makefile knows how to install it, so we don't do that here. +@@ -339,12 +335,6 @@ + man/Makefile: $(srcdir)/man/Makefile.in config.status + ./config.status + +-lispref/Makefile: $(srcdir)/lispref/Makefile.in config.status +- ./config.status +- +-lispintro/Makefile: $(srcdir)/lispintro/Makefile.in config.status +- ./config.status +- + oldXMenu/Makefile: $(srcdir)/oldXMenu/Makefile.in config.status + ./config.status + +@@ -616,8 +606,6 @@ + (cd lwlib; $(MAKE) $(MFLAGS) mostlyclean) + (cd lib-src; $(MAKE) $(MFLAGS) mostlyclean) + -(cd man && $(MAKE) $(MFLAGS) mostlyclean) +- -(cd lispref && $(MAKE) $(MFLAGS) mostlyclean) +- -(cd lispintro && $(MAKE) $(MFLAGS) mostlyclean) + (cd leim; $(MAKE) $(MFLAGS) mostlyclean) + + ### `clean' +@@ -634,8 +622,6 @@ + (cd lwlib; $(MAKE) $(MFLAGS) clean) + (cd lib-src; $(MAKE) $(MFLAGS) clean) + -(cd man && $(MAKE) $(MFLAGS) clean) +- -(cd lispref && $(MAKE) $(MFLAGS) clean) +- -(cd lispintro && $(MAKE) $(MFLAGS) clean) + (cd leim; $(MAKE) $(MFLAGS) clean) + + ### `distclean' +@@ -654,8 +640,6 @@ + (cd lwlib; $(MAKE) $(MFLAGS) distclean) + (cd lib-src; $(MAKE) $(MFLAGS) distclean) + (cd man && $(MAKE) $(MFLAGS) distclean) +- (cd lispref && $(MAKE) $(MFLAGS) distclean) +- (cd lispintro && $(MAKE) $(MFLAGS) distclean) + (cd leim; $(MAKE) $(MFLAGS) distclean) + (cd lisp; $(MAKE) $(MFLAGS) distclean) + ${top_distclean} +@@ -677,8 +661,6 @@ + (cd lwlib; $(MAKE) $(MFLAGS) maintainer-clean) + (cd lib-src; $(MAKE) $(MFLAGS) maintainer-clean) + -(cd man && $(MAKE) $(MFLAGS) maintainer-clean) +- -(cd lispref && $(MAKE) $(MFLAGS) maintainer-clean) +- -(cd lispintro && $(MAKE) $(MFLAGS) maintainer-clean) + (cd leim; $(MAKE) $(MFLAGS) maintainer-clean) + (cd lisp; $(MAKE) $(MFLAGS) maintainer-clean) + ${top_distclean} +@@ -716,8 +698,6 @@ + (cd lisp; $(MAKE) $(MFLAGS) unlock) + (cd lisp/term; chmod u+w README *.el) + (cd man; chmod u+w *texi* ChangeLog split-man) +- (cd lispref; chmod u+w *texi* ChangeLog) +- (cd lispintro; chmod u+w *texi* ChangeLog) + (cd oldXMenu; chmod u+w *.[ch] Makefile README) + (cd lwlib; chmod u+w *.[ch] Makefile README) + (cd src; $(MAKE) $(MFLAGS) unlock) +@@ -730,8 +710,6 @@ + (cd lisp; $(MAKE) $(MFLAGS) relock) + (cd lisp/term; chmod u+w README *.el) + (cd man; chmod u+w *texi* ChangeLog split-man) +- (cd lispref; chmod u+w *texi* ChangeLog) +- (cd lispintro; chmod u+w *texi* ChangeLog) + (cd oldXMenu; chmod u+w *.[ch] Makefile README) + (cd lwlib; chmod u+w *.[ch] Makefile README) + (cd src; $(MAKE) $(MFLAGS) relock) +@@ -754,12 +732,8 @@ + # so we can do ok running make in the build dir. + info: force-info + -(cd man; $(MAKE) $(MFLAGS) info) +- -(cd lispref; $(MAKE) $(MFLAGS) info) +- -(cd lispintro; $(MAKE) $(MFLAGS) info) + dvi: + (cd man; $(MAKE) $(MFLAGS) dvi) +- (cd lispref; $(MAKE) $(MFLAGS) elisp.dvi) +- (cd lispintro; $(MAKE) $(MFLAGS) emacs-lisp-intro.dvi) + + #### Bootstrapping. + +@@ -809,6 +783,4 @@ + (cd lwlib; $(MAKE) $(MFLAGS) clean) + (cd lib-src; $(MAKE) $(MFLAGS) clean) + -(cd man && $(MAKE) $(MFLAGS) clean) +- -(cd lispref && $(MAKE) $(MFLAGS) clean) +- -(cd lispintro && $(MAKE) $(MFLAGS) clean) + (cd leim; $(MAKE) $(MFLAGS) clean) +Index: sid/man/Makefile.in +=================================================================== +--- sid.orig/man/Makefile.in ++++ sid/man/Makefile.in +@@ -33,24 +33,8 @@ + # The makeinfo program is part of the Texinfo distribution. + # Use --force so that it generates output even if there are errors. + MAKEINFO = makeinfo --force +-INFO_TARGETS = ../info/emacs ../info/ccmode ../info/cl \ +- ../info/dired-x ../info/ediff ../info/forms ../info/gnus \ +- ../info/message ../info/sieve ../info/pgg ../info/emacs-mime \ +- ../info/info ../info/mh-e ../info/reftex \ +- ../info/sc ../info/vip ../info/viper ../info/widget \ +- ../info/efaq ../info/ada-mode ../info/autotype ../info/calc \ +- ../info/idlwave ../info/eudc ../info/ebrowse ../info/pcl-cvs \ +- ../info/woman ../info/eshell ../info/org ../info/url \ +- ../info/speedbar ../info/tramp ../info/ses ../info/smtpmail \ +- ../info/flymake ../info/newsticker ../info/rcirc ../info/erc +-DVI_TARGETS = emacs.dvi calc.dvi cc-mode.dvi cl.dvi dired-x.dvi \ +- ediff.dvi forms.dvi gnus.dvi message.dvi emacs-mime.dvi \ +- gnus.dvi message.dvi sieve.dvi pgg.dvi mh-e.dvi \ +- reftex.dvi sc.dvi vip.dvi viper.dvi widget.dvi faq.dvi \ +- ada-mode.dvi autotype.dvi idlwave.dvi eudc.dvi ebrowse.dvi \ +- pcl-cvs.dvi woman.dvi eshell.dvi org.dvi url.dvi \ +- speedbar.dvi tramp.dvi ses.dvi smtpmail.dvi flymake.dvi \ +- newsticker.dvi emacs-xtra.dvi rcirc.dvi erc.dvi ++INFO_TARGETS = ../info/dired-x ../info/efaq ++DVI_TARGETS = dired-x.dvi faq.dvi + INFOSOURCES = info.texi + + # The following rule does not work with all versions of `make'. +@@ -61,64 +45,6 @@ + TEXI2DVI = texi2dvi + ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)" + +-EMACS_XTRA=\ +- $(srcdir)/arevert-xtra.texi \ +- $(srcdir)/cal-xtra.texi \ +- $(srcdir)/dired-xtra.texi \ +- $(srcdir)/picture-xtra.texi \ +- $(srcdir)/emerge-xtra.texi \ +- $(srcdir)/vc-xtra.texi \ +- $(srcdir)/vc1-xtra.texi \ +- $(srcdir)/vc2-xtra.texi \ +- $(srcdir)/fortran-xtra.texi \ +- $(srcdir)/msdog-xtra.texi +- +-EMACSSOURCES= \ +- ${srcdir}/emacs.texi \ +- ${srcdir}/doclicense.texi \ +- ${srcdir}/screen.texi \ +- ${srcdir}/commands.texi \ +- ${srcdir}/entering.texi \ +- ${srcdir}/basic.texi \ +- ${srcdir}/mini.texi \ +- ${srcdir}/m-x.texi \ +- ${srcdir}/help.texi \ +- ${srcdir}/mark.texi \ +- ${srcdir}/killing.texi \ +- ${srcdir}/regs.texi \ +- ${srcdir}/display.texi \ +- ${srcdir}/search.texi \ +- ${srcdir}/fixit.texi \ +- ${srcdir}/files.texi \ +- ${srcdir}/buffers.texi \ +- ${srcdir}/windows.texi \ +- ${srcdir}/frames.texi \ +- ${srcdir}/mule.texi \ +- ${srcdir}/major.texi \ +- ${srcdir}/indent.texi \ +- ${srcdir}/text.texi \ +- ${srcdir}/programs.texi \ +- ${srcdir}/building.texi \ +- ${srcdir}/maintaining.texi \ +- ${srcdir}/abbrevs.texi \ +- ${srcdir}/sending.texi \ +- ${srcdir}/rmail.texi \ +- ${srcdir}/dired.texi \ +- ${srcdir}/calendar.texi \ +- ${srcdir}/misc.texi \ +- ${srcdir}/custom.texi \ +- ${srcdir}/trouble.texi \ +- ${srcdir}/cmdargs.texi \ +- ${srcdir}/xresources.texi \ +- ${srcdir}/anti.texi \ +- ${srcdir}/macos.texi \ +- ${srcdir}/msdog.texi \ +- ${srcdir}/gnu.texi \ +- ${srcdir}/glossary.texi \ +- ${srcdir}/ack.texi \ +- ${srcdir}/kmacro.texi \ +- $(EMACS_XTRA) +- + info: $(top_srcdir)/info $(INFO_TARGETS) + + $(top_srcdir)/info: +@@ -131,222 +57,16 @@ + # to exist in the build directory. + # In a distribution of Emacs, the Info files should be up to date. + +-# The following target uses an explicit -o switch to work around +-# the @setfilename directive in info.texi, which is required for +-# the Texinfo distribution. +- +-../info/info: ${INFOSOURCES} +- cd $(srcdir); $(MAKEINFO) --no-split info.texi -o $@ +- +-info.dvi: ${INFOSOURCES} +- $(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi +- +-../info/emacs: ${EMACSSOURCES} +- cd $(srcdir); $(MAKEINFO) emacs.texi +- +-emacs.dvi: ${EMACSSOURCES} +- $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi +- +-# This target is here so you could easily get the list of the *.texi +-# files which belong to the Emacs manual (as opposed to the separate +-# manuals for CL, CC Mode, Ebrowse, etc.). With this target, you can +-# say things like "grep foo `make emacsman`". +-emacsman: +- @echo $(EMACSSOURCES) +- +-../info/ccmode: cc-mode.texi +- cd $(srcdir); $(MAKEINFO) cc-mode.texi +-cc-mode.dvi: cc-mode.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/cc-mode.texi +- +-../info/ada-mode: ada-mode.texi +- cd $(srcdir); $(MAKEINFO) ada-mode.texi +-ada-mode.dvi: ada-mode.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/ada-mode.texi +- +-../info/pcl-cvs: pcl-cvs.texi +- cd $(srcdir); $(MAKEINFO) pcl-cvs.texi +-pcl-cvs.dvi: pcl-cvs.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi +- +-../info/eshell: eshell.texi +- cd $(srcdir); $(MAKEINFO) eshell.texi +-eshell.dvi: eshell.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi +- +-../info/cl: cl.texi +- cd $(srcdir); $(MAKEINFO) cl.texi +-cl.dvi: cl.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi +- + ../info/dired-x: dired-x.texi + cd $(srcdir); $(MAKEINFO) dired-x.texi + dired-x.dvi: dired-x.texi + $(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi + +-../info/ediff: ediff.texi +- cd $(srcdir); $(MAKEINFO) ediff.texi +-ediff.dvi: ediff.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi +- +-emacs-xtra.dvi: emacs-xtra.texi $(EMACS_XTRA) +- $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi +- +-../info/forms: forms.texi +- cd $(srcdir); $(MAKEINFO) forms.texi +-forms.dvi: forms.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi +- +-# gnus/message/emacs-mime/sieve/pgg are part of Gnus: +-../info/gnus: gnus.texi gnus-faq.texi +- cd $(srcdir); $(MAKEINFO) gnus.texi +-gnus.dvi: gnus.texi gnus-faq.texi +- sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi +- $(ENVADD) $(TEXI2DVI) gnustmp.texi +- cp gnustmp.dvi $*.dvi +- rm gnustmp.* +- +-../info/message: message.texi +- cd $(srcdir); $(MAKEINFO) message.texi +-message.dvi: message.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi +- +-../info/sieve: sieve.texi +- cd $(srcdir); $(MAKEINFO) sieve.texi +-sieve.dvi: sieve.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi +- +-../info/emacs-mime: emacs-mime.texi +- cd $(srcdir); $(MAKEINFO) emacs-mime.texi +-emacs-mime.dvi: emacs-mime.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi +- +-../info/pgg: pgg.texi +- cd $(srcdir); $(MAKEINFO) pgg.texi +-pgg.dvi: pgg.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi +- +-../info/mh-e: mh-e.texi +- cd $(srcdir); $(MAKEINFO) mh-e.texi +-mh-e.dvi: mh-e.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi +- +-../info/reftex: reftex.texi +- cd $(srcdir); $(MAKEINFO) reftex.texi +-reftex.dvi: reftex.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi +- +-../info/sc: sc.texi +- cd $(srcdir); $(MAKEINFO) sc.texi +-sc.dvi: sc.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi +- +-../info/vip: vip.texi +- cd $(srcdir); $(MAKEINFO) vip.texi +-vip.dvi: vip.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi +- +-../info/viper: viper.texi +- cd $(srcdir); $(MAKEINFO) viper.texi +-viper.dvi: viper.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi +- +-../info/widget: widget.texi +- cd $(srcdir); $(MAKEINFO) widget.texi +-widget.dvi: widget.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/widget.texi +- + ../info/efaq: faq.texi + cd $(srcdir); $(MAKEINFO) faq.texi + faq.dvi: faq.texi + $(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi + +-../etc/GNU: gnu1.texi gnu.texi +- cd $(srcdir) && makeinfo --no-headers -o ../etc/GNU gnu1.texi +- +-../info/autotype: autotype.texi +- cd $(srcdir); $(MAKEINFO) autotype.texi +-autotype.dvi: autotype.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi +- +-../info/calc: calc.texi +- cd $(srcdir); $(MAKEINFO) calc.texi +- +-calc.dvi: calc.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/calc.texi +- +-# This is produced with --no-split to avoid making files whose +-# names clash on DOS 8+3 filesystems +-../info/idlwave: idlwave.texi +- cd $(srcdir); $(MAKEINFO) --no-split idlwave.texi +-idlwave.dvi: idlwave.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi +- +-../info/eudc: eudc.texi +- cd $(srcdir); $(MAKEINFO) eudc.texi +-eudc.dvi: eudc.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi +- +-../info/ebrowse: ebrowse.texi +- cd $(srcdir); $(MAKEINFO) ebrowse.texi +-ebrowse.dvi: ebrowse.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi +- +-../info/woman: woman.texi +- cd $(srcdir); $(MAKEINFO) woman.texi +-woman.dvi: woman.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi +- +-../info/org: org.texi +- cd $(srcdir); $(MAKEINFO) org.texi +-org.dvi: org.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/org.texi +- +-../info/url: url.texi +- cd $(srcdir); $(MAKEINFO) url.texi +-url.dvi: url.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/url.texi +- +-../info/speedbar: speedbar.texi +- cd $(srcdir); $(MAKEINFO) speedbar.texi +-speedbar.dvi: speedbar.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi +- +-../info/tramp: tramp.texi trampver.texi +- cd $(srcdir); $(MAKEINFO) -D emacs tramp.texi +-tramp.dvi: tramp.texi trampver.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/tramp.texi +- +-../info/ses: ses.texi +- cd $(srcdir); $(MAKEINFO) ses.texi +-ses.dvi: ses.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/ses.texi +- +-../info/smtpmail: smtpmail.texi +- cd $(srcdir); $(MAKEINFO) smtpmail.texi +-smtpmail.dvi: smtpmail.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/smtpmail.texi +- +-../info/flymake: flymake.texi +- cd $(srcdir); $(MAKEINFO) flymake.texi +-flymake.dvi: flymake.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/flymake.texi +- +-../info/newsticker: newsticker.texi +- cd $(srcdir); $(MAKEINFO) newsticker.texi +-newsticker.dvi: newsticker.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/newsticker.texi +- +-../info/rcirc: rcirc.texi +- cd $(srcdir); $(MAKEINFO) rcirc.texi +-rcirc.dvi: rcirc.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/rcirc.texi +- +-../info/erc: erc.texi +- cd $(srcdir); $(MAKEINFO) erc.texi +-erc.dvi: erc.texi +- $(ENVADD) $(TEXI2DVI) ${srcdir}/erc.texi +- + mostlyclean: + rm -f *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.* + +Index: sid/configure.in +=================================================================== +--- sid.orig/configure.in ++++ sid/configure.in +@@ -3306,7 +3306,7 @@ + + AC_OUTPUT(Makefile lib-src/Makefile.c:lib-src/Makefile.in oldXMenu/Makefile \ + man/Makefile lwlib/Makefile src/Makefile.c:src/Makefile.in \ +- lisp/Makefile lispref/Makefile lispintro/Makefile leim/Makefile, [ ++ lisp/Makefile leim/Makefile, [ + + ### Make the necessary directories, if they don't exist. + for dir in etc lisp ; do diff --git a/debian/patches/misc-unseparated.diff b/debian/patches/misc-unseparated.diff new file mode 100644 index 00000000000..d489b1b5261 --- /dev/null +++ b/debian/patches/misc-unseparated.diff @@ -0,0 +1,73 @@ +* The following miscellaneous changes have been made. + Patch: misc-unseparated.diff + + * Various documentation references have been adjusted for Debian. + + References to /usr/local/... have been changed to + /usr/... as appropriate, etc. + +Index: sid/etc/emacs.1 +=================================================================== +--- sid.orig/etc/emacs.1 ++++ sid/etc/emacs.1 +@@ -424,28 +424,28 @@ + manual is also included in the Emacs source distribution. + .PP + .SH FILES +-/usr/local/share/info - files for the Info documentation browser. ++/usr/share/info - files for the Info documentation browser. + The complete text of the Emacs reference manual is included in a + convenient tree structured form. Also includes the Emacs Lisp + Reference Manual, useful to anyone wishing to write programs in the + Emacs Lisp extension language. + +-/usr/local/share/emacs/$VERSION/lisp - Lisp source files and compiled files ++/usr/share/emacs/$VERSION/lisp - Lisp source files and compiled files + that define most editing commands. Some are preloaded; + others are autoloaded from this directory when used. + +-/usr/local/libexec/emacs/$VERSION/$ARCH - various programs that are +-used with GNU Emacs. ++/usr/lib/emacs/$VERSION/$ARCH - various programs that are used with ++GNU Emacs. + +-/usr/local/share/emacs/$VERSION/etc - various files of information. ++/usr/share/emacs/$VERSION/etc - various files of information. + +-/usr/local/share/emacs/$VERSION/etc/DOC.* - contains the documentation ++/usr/share/emacs/$VERSION/etc/DOC.* - contains the documentation + strings for the Lisp primitives and preloaded Lisp functions + of GNU Emacs. They are stored here to reduce the size of + Emacs proper. + + .br +-/usr/local/share/emacs/$VERSION/etc/SERVICE lists people offering ++/usr/share/emacs/$VERSION/etc/SERVICE lists people offering + various services to assist users of GNU Emacs, including education, + troubleshooting, porting and customization. + +@@ -466,7 +466,7 @@ + + Please do not send anything but bug reports to this mailing list. + For more information about Emacs mailing lists, see the +-file /usr/local/emacs/etc/MAILINGLISTS. Bugs tend actually to be ++file /usr/share/emacs/$VERSION/etc/MAILINGLISTS. Bugs tend actually to be + fixed if they can be isolated, so it is in your interest to report + them in such a way that they can be easily reproduced. + .SH UNRESTRICTIONS +Index: sid/etc/NEWS +=================================================================== +--- sid.orig/etc/NEWS ++++ sid/etc/NEWS +@@ -38,6 +38,11 @@ + http://www.emacswiki.org/cgi-bin/wiki/PythonMode + + ++* Debian specific changes to Emacs ++ ++Please see /usr/share/doc/emacs22-common/README.Debian.gz. ++ ++ + * Installation Changes in Emacs 22.1 + + ** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk' diff --git a/debian/patches/require-movemail-use-liblockfile.diff b/debian/patches/require-movemail-use-liblockfile.diff new file mode 100644 index 00000000000..1187b5e05a9 --- /dev/null +++ b/debian/patches/require-movemail-use-liblockfile.diff @@ -0,0 +1,24 @@ +* The build will fail if liblockfile isn't selected for movemail. + Patch: require-movemail-use-liblockfile.diff + Author: Rob Browning + Added-by: Rob Browning + + This makes sure the Debian Emacs won't accidentally be built with + the wrong locking strategy. To disable this check, comment out + require-movemail-use-liblockfile.diff in debian/patches/series. + +Index: sid/lib-src/movemail.c +=================================================================== +--- sid.orig/lib-src/movemail.c ++++ sid/lib-src/movemail.c +@@ -167,6 +167,10 @@ + /* Nonzero means this is name of a lock file to delete on fatal error. */ + char *delete_lockname; + ++#ifndef MAIL_USE_MAILLOCK ++#error "Debian requires that mail locking be handled by liblockfile." ++#endif /* ndef MAIL_USE_MAILLOCK */ ++ + int + main (argc, argv) + int argc; diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 00000000000..43d4a613f88 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,9 @@ +debian-startup.diff +debian-adjust-mail-from-addresses.diff +handle-dfsg-split.diff +misc-unseparated.diff +fix-vc-path.diff +require-movemail-use-liblockfile.diff +avoid-fakemail-mail-loss.diff +version-mention-debian.diff +autofiles.diff diff --git a/debian/patches/version-mention-debian.diff b/debian/patches/version-mention-debian.diff new file mode 100644 index 00000000000..87c30e6fb90 --- /dev/null +++ b/debian/patches/version-mention-debian.diff @@ -0,0 +1,20 @@ +* The output of (version) has been modified to indicate Debian modifications. + Patch: version-mention-debian.diff + Author: Rob Browning + Added-by: Rob Browning + +Index: sid/lisp/version.el +=================================================================== +--- sid.orig/lisp/version.el ++++ sid/lisp/version.el +@@ -55,8 +55,8 @@ + (interactive "P") + (let ((version-string + (format (if (not (interactive-p)) +- "GNU Emacs %s (%s%s%s)\n of %s on %s" +- "GNU Emacs %s (%s%s%s) of %s on %s") ++ "GNU Emacs %s (%s%s%s)\n of %s on %s, modified by Debian" ++ "GNU Emacs %s (%s%s%s) of %s on %s, modified by Debian") + emacs-version + system-configuration + (cond ((featurep 'motif) diff --git a/debian/rules b/debian/rules new file mode 100755 index 00000000000..54a3ec9dc63 --- /dev/null +++ b/debian/rules @@ -0,0 +1,855 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# This file is licensed under the terms of the Gnu Public License. +# With the one additional provision that Ian Jackson's name may not be +# removed from the file. + +# Copyright 1994,1995 Ian Jackson +# Copyright 1998-2005 Rob Browning +# Copyright 2004-2005 Jérôme Marant + +# Originally copied from the GNU Hello Debian rules file (1.3). +# Modified for emacs by Mark Eichin . +# Debhelper support added via one of Joey Hess' example files. +# See the debian/changelog for further historical information. + +# TODO: +# +# Figure out what happened to fns-*.elc +# Should we set defaults for things like xsupport at the top here? +# Deal with build_binary_pkg and continue integration. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +SHELL := /bin/bash + +quilt := QUILT_PATCHES=debian/patches quilt + +deb_trash := + +pf := set -o pipefail + +# For now we assume that emacs' versioning scheme is always +# MAJOR.MINORtinyrev where MAJOR and MINOR are integers and tinyrev is +# an optional lowercase letter (or letters). We also assume that +# upstream uses a numbering scheme that sorts in a "Debian friendly" +# way. So far that's always been true. If it becomes false, some of +# the values below will have to be set manually. + +# At the moment, we try to make it so that a "debian/rules clean" will +# get you back to the same state you were in before "debian/rules +# build". With the original upstream source that's somewhat tricky +# because they ship the .elc files, but we need to re-build them when +# we patch the corresponding .el files. This is further complicated +# by the fact that any of these .el files may have macros, and if +# those are changed, then any other .el files that use those macros +# must also be recompiled. Over the years, we've tried various ways +# to handle this problem, originally by trying to keep track of which +# files need to be recompiled and only recompiling those, then later +# by just re-building all the .elc files with "make bootstrap". In +# either case, if you don't want to have diff bloat, you have to do +# something to keep track of the original .elc files so you can +# restore them during make clean. + +# All of this was a lot of work, and was using quite a bit of +# unnecessary storage both in the .orig.tar.gz and during the package +# build. So in order to avoid this, and to dramatically simplify +# things, we now just remove the .elc files from the upstream +# distribution whenever we create the debian .orig.tar.gz file for a +# given upstream release. Since were always clobbering all of the +# .elc files during the package build anyway, this shouldn't be any +# great loss, and it also means that "debian/rules clean" now needs to +# be little more than a "make distclean" followed by a purge of all +# the remaining .elc files. + +# NOTE -- emacs doesn't respect .elc files in VPATH build. They're +# modified in srcdir, not builddir. We don't worry about this because +# it shouldn't affect our builds ATM, but if we ever have more than +# one emacs configuration which could produce differing .elc files, +# we'll need to be careful. We'll probably have to build completely +# separate packages from completely separate source trees. + +# In order to keep the autofiles up to date, but avoid any alterations +# outside of ./debian, we keep the changes made by running a new +# autoconf, etc. in patches/autofiles.diff. This patch can be +# automatically regenerated by running "debian/rules autofiles-sync", +# and this patch should always be maintained as the last one in the +# patch series. + +# Note that we use quilt to handle the debian patches. One of the +# biggest differences between quilt and say dpatch is that you have to +# explicitly "quilt add" a file to a patch before you edit it. See +# "man quilt" for details.. + +# If the source tree ever ends up in an untenable "can't go forward, +# can't go back" state with respect to patching, you can always start +# over by just moving the current debian directory to a newly unpacked +# orig.tar.gz tree. Note that f you were in the process of editing a +# patch, you will lose those edits, but shouldn't lose anything else. +# This process just reverts all of the upstream files and abandons the +# volatile "what's been done to the current tree" state that quilt +# maintains in ./.pc. All of the actual patches are stored in +# debian/patches and should be unharmed. + +###################################################################### +# Important top-level targets: +# +# check-vars - displays how the version number has been parsed. +# buildpackage - build binary packages via dpkg-buildpackage w/suitable args +# prepare-release - prepare and check debs for upload. +# autofiles-sync - force a new autofiles.diff to be generated. +# +###################################################################### + +# The name of the Debian source package +src_name := $(shell $(pf); dpkg-parsechangelog | egrep '^Source:') +src_name := $(shell $(pf); echo $(src_name) | perl -pe 's/Source:\s+//o') + +# The version from the changelog (i.e. 20.5-1) +debian_ver := $(shell $(pf); dpkg-parsechangelog | egrep '^Version:') +debian_ver := $(shell $(pf); echo $(debian_ver) | perl -pe 's/Version:\s+//o') +# The Debian revision (i.e. the 1 from 20.5-1) +# Always everything after the last '-' +debian_rev := $(shell $(pf); echo $(debian_ver) | perl -pe 's/.*-//o') + +# The official upstream version defined by emacs-version in lisp/version.el. +# The extraction method matches the code in the upstream configure.in. +nominal_ver := \ + $(shell $(pf); grep 'defconst[ ]*emacs-version' lisp/version.el \ + | sed -e 's/^[^"]*"\([^"]*\)".*$$/\1/') + +# This must be the version that's actually used at runtime for things +# like load-path. It may not be the same as the upstream version +# (i.e. when you have upstream 20.5a, the functional version may still +# be 20.5), so sometimes we may have to do this by hand. +runtime_ver := $(shell $(pf); echo $(nominal_ver) | perl -pe 's/[a-z]+$$//o') + +major_ver := $(shell $(pf); echo $(runtime_ver) | perl -pe 's/\..*$$//o') +minor_ver := $(shell $(pf); echo $(runtime_ver) | perl -pe 's/^[^.]*\.//o') + +# version for the debian source, i.e. if the upstream is 21.3, this +# might be 21.3, or it might be 21.3+1 if we've had to have more than +# one re-release of the upstream source. Rare, but it happens... +# Always everything before the last '-' +debsrc_ver := $(shell $(pf); echo $(debian_ver) | perl -pe 's/-[^-]+$$//o') + +# upstream version - the actual upstream version, i.e. 21.4a, minus any +foo +upstream_ver := $(shell $(pf); echo $(debsrc_ver) | perl -pe 's/\+[^+]+$$//o') + +deb_orig_tgz := $(src_name)_$(debsrc_ver).orig.tar.gz +# name of the orig_tgz unpack directory +deb_orig_tgz_dir := emacs-$(runtime_ver) + +###################################################################### +# Customizable variables + +# The flavor (i.e. emacs21) currently matches the source package name. +flavor := $(src_name) + +bin_priority := 25 + +# This might also be something like 2006-09-09 for snapshots. +menu_ver := $(upstream_ver) + +info_subdir := emacs-$(major_ver) + +###################################################################### + +# Should these be exported like this (as autotools-dev recommends for +# the two vars below) or not? +export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +export DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU) + +# As recommended by /usr/share/doc/autotools-dev/README.Debian.gz. +# Handle cross-compiling and don't make ./configure guess. +export DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) + +LDFLAGS := -g +CFLAGS := -DDEBIAN -g + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else # not noopt + ifeq (m68k,$(DEB_HOST_ARCH)) + # fix problem with newer versions of gcc on m68k + # -O2 causes a build failure (broken byte compiler) + CFLAGS += -O1 + else # neq (m68k,$(DEB_HOST_ARCH)) + CFLAGS += -O2 + endif # neq (m68k,$(DEB_HOST_ARCH)) +endif # not noopt + +target := $(DEB_HOST_GNU_TYPE) +movemail_bin := usr/lib/emacs/$(runtime_ver)/$(target)/movemail + +# These files may be modified in the *source* tree during the build. +# Wonder if we could patch emacs to copy/use these files to/from the +# build tree... (See Makefile.in's AUTOGENEL definition.) +protected_files := \ + config.guess \ + config.sub \ + lisp/cus-load.el \ + lisp/finder-inf.el \ + lisp/loaddefs.el \ + lisp/subdirs.el + +# Info files that are going to show up in the main dir. +main_dir_info_files := \ + dired-x \ + efaq + +# Files that the build stage depends on (may also be listed in other vars). +persistent_autogen_build_files := debian/control debian/copyright +nonpersistent_autogen_build_files := + +# These files must always exist, i.e. can't ever be cleaned. +persistent_autogen_install_files := +nonpersistent_autogen_install_files := \ + debian/$(flavor)-bin-common.postinst \ + debian/$(flavor)-bin-common.prerm \ + debian/$(flavor)-common.README.Debian \ + debian/$(flavor)-common.docs \ + debian/$(flavor)-common.postinst \ + debian/$(flavor)-common.prerm \ + debian/$(flavor)-nox.README.Debian \ + debian/$(flavor)-nox.menu \ + debian/$(flavor)-nox.postinst \ + debian/$(flavor)-nox.prerm \ + debian/$(flavor)-gtk.README.Debian \ + debian/$(flavor)-gtk.menu \ + debian/$(flavor)-gtk.postinst \ + debian/$(flavor)-gtk.prerm \ + debian/$(flavor).README.Debian \ + debian/$(flavor).desktop \ + debian/$(flavor).menu \ + debian/$(flavor).postinst \ + debian/$(flavor).prerm + +autogen_build_files := \ + $(nonpersistent_autogen_build_files) $(persistent_autogen_build_files) + +autogen_install_files := \ + $(nonpersistent_autogen_install_files) $(persistent_autogen_install_files) + +persistent_autogen_files := \ + $(persistent_autogen_build_files) $(persistent_autogen_install_files) + +nonpersistent_autogen_files := \ + $(nonpersistent_autogen_build_files) $(nonpersistent_autogen_install_files) + + +# Build directories +pkgdir_common := $(CURDIR)/debian/$(flavor)-common +pkgdir_bin_common := $(CURDIR)/debian/$(flavor)-bin-common +pkgdir_x := $(CURDIR)/debian/$(flavor) +pkgdir_nox := $(CURDIR)/debian/$(flavor)-nox +pkgdir_gtk := $(CURDIR)/debian/$(flavor)-gtk +pkgdir_el := $(CURDIR)/debian/$(flavor)-el + +install_dir_x := $(CURDIR)/debian/install-x +install_dir_nox := $(CURDIR)/debian/install-nox +install_dir_gtk := $(CURDIR)/debian/install-gtk + +local_lpath := /etc/$(flavor):/etc/emacs +local_lpath := $(local_lpath):/usr/local/share/emacs/$(runtime_ver)/site-lisp +local_lpath := $(local_lpath):/usr/local/share/emacs/site-lisp +local_lpath := $(local_lpath):/usr/share/emacs/$(runtime_ver)/site-lisp +local_lpath := $(local_lpath):/usr/share/emacs/site-lisp + +# This shouldn't be needed as of 20.3 +local_lpath := $(local_lpath):/usr/share/emacs/$(runtime_ver)/leim + +# Installation local_lpath +local_lpath_install := $(pkgdir_common)/$(subst :,:$(pkgdir_common)/,$(local_lpath)) + +define checkroot + test root = "`whoami`" +endef + +define checkdir + @if ! test -s debian/patches/autofiles.diff; \ + then \ + echo; \ + echo "The Debian autofiles patch is not available."; \ + echo "Please run this command:"; \ + echo " debian/rules autofiles-sync"; \ + echo; \ + false; \ + fi + dpkg-parsechangelog > /dev/null + dh_testdir debian/emacsVER.postinst + @if ! test -f src/emacs.c; \ + then \ + echo; \ + echo -n "The upstream source does not appear to be available."; \ + echo " Please put the contents"; \ + echo -n "of $(deb_orig_tgz) into the"; \ + echo " current directory."; \ + echo; \ + false; \ + fi +endef + +define build_cmd + $(MAKE) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" +endef + +# If we ever need to do the stripping outside of dh_strip, just add an +# INSTALL_STRIP="-s" to the make vars below. + +emacs_inst = (cd debian/$(1) && \ + PATH=$(CURDIR)/debian/bin/info:$(PATH) $(MAKE) install \ + DESTDIR=$(2) \ + infodir=/usr/share/info/emacs-$(major_ver) \ + localstatedir=/var \ + manext=.1$(flavor)) + +define patch + $(quilt) push -a +endef + +define unpatch + test -z "$$($(quilt) applied)" || $(quilt) pop -a + rm -f debian/stamp/patch + rm -rf .pc +endef + +define cleanup_all + # distclean goes first so we clean using patched code + rm -f debian/stamp/setup + rm -f debian/stamp/configure + rm -f debian/stamp/build + -$(MAKE) distclean + cd info && rm -f $$(ls | grep -v COPYING) + dh_clean + $(unpatch) + # now clean up bits in the source tree that the above didn't handle + find -name "*.elc" | xargs --no-run-if-empty rm + if [ -e debian/protected-files.tgz ]; then \ + tar xzpf debian/protected-files.tgz; \ + fi + rm -f debian/protected-files.tgz + # now clean up everything else (mostly ./debian related stuff) + find -name '*~' | xargs --no-run-if-empty rm -f + rm -f debian/substvars + rm -f $(nonpersistent_autogen_files) + rm -rf \ + debian/build-x \ + debian/install-x \ + debian/build-nox \ + debian/install-nox \ + debian/build-gtk \ + debian/install-gtk \ + debian/files* + rm -rf debian/*.tmp + rm -rf $(deb_trash) + rm -rf .pc + test ! -e debian/stamp || rmdir debian/stamp +endef + +define update_debian_autofiles_quilt + $(cleanup_all) + # Make sure autofiles.diff exists, otherwise patching will fail. + if ! test -e debian/patches/autofiles.diff; \ + then \ + touch debian/patches/autofiles.diff; \ + fi; + $(patch) + test "$$($(quilt) top)" = autofiles.diff + $(quilt) pop + mkdir -p debian/tmp-autofiles/old + $(pf); tar cpSf - --exclude ./debian --exclude ./.pc . \ + | tar -C debian/tmp-autofiles/old -xpSf - + cp -a debian/tmp-autofiles/old debian/tmp-autofiles/new + cd debian/tmp-autofiles/new && aclocal + cd debian/tmp-autofiles/new && autoconf + cd debian/tmp-autofiles/new && autoheader + cd debian/tmp-autofiles/new && rm -rf autom4te.cache + cd debian/tmp-autofiles && diff -ruN old new > new.diff; \ + test $$? -eq 1 + $(quilt) import -f -P autofiles.diff debian/tmp-autofiles/new.diff + $(quilt) header -r autofiles.diff < debian/autofiles-diff-header + $(patch) + $(cleanup_all) +endef +deb_trash += debian/tmp-autofiles + +# If we ever need it, we can create a copy that doesn't assume ./debian/ +define deb_sub + perl -p \ + -e "s|\@PKG_NAME\@|$(pkg_name)|go;" \ + -e "s|\@MAJOR_VERSION\@|$(major_ver)|go;" \ + -e "s|\@MINOR_VERSION\@|$(minor_ver)|go;" \ + -e "s|\@FULL_VERSION\@|$(runtime_ver)|go;" \ + -e "s|\@PACKAGE_VERSION\@|$(debian_ver)|go;" \ + -e "s|\@DEBIAN_REV\@|$(deb_rev)|go;" \ + -e "s|\@NOMINAL_VERSION\@|$(nominal_ver)|go;" \ + -e "s|\@UPSTREAM_VERSION\@|$(upstream_ver)|go;" \ + -e "s|\@DEBSRC_VERSION\@|$(debsrc_ver)|go;" \ + -e "s|\@DEB_FLAVOR\@|$(flavor)|go;" \ + -e "s|\@MENU_VERSION\@|$(menu_ver)|go;" \ + -e "s|\@INFO_FILES\@|$(main_dir_info_files)|go;" \ + -e "s|\@INFO_SUBDIR\@|$(info_subdir)|go;" \ + -e "s|\@X_SUPPORT\@|$(xsupport)|go;" \ + -e "s|\@BIN_PRIORITY\@|$(bin_priority)|go;" \ + -e "s|\@MOVEMAIL_BIN\@|$(movemail_bin)|go;" \ + < $(1) > $(2) +endef + +check-vars: + @echo "upstream_ver: $(upstream_ver)" + @echo "debian_ver: $(debian_ver)" + @echo "debsrc_ver: $(debsrc_ver)" + @echo "debian_rev: $(debian_rev)" + @echo "nominal_ver: $(nominal_ver)" + @echo "runtime_ver: $(runtime_ver)" + @echo "major_ver: $(major_ver)" + @echo "minor_ver: $(minor_ver)" +.PHONY: check-vars + +.PHONY: check-diff +check-diff: clean + $(checkdir) + test -r ../$(deb_orig_tgz) + rm -rf debian/tmp-diff && mkdir debian/tmp-diff + cd debian/tmp-diff && tar xzpSf ../../../$(deb_orig_tgz) + cd debian/tmp-diff && mv $(deb_orig_tgz_dir) orig + + mkdir debian/tmp-diff/new + $(pf); tar cpf - --exclude './debian' --exclude './.pc' . \ + | (cd debian/tmp-diff/new && tar xpf -) + + @echo + @echo "########################################" + @echo "### Diffs outside ./debian" + @cd debian/tmp-diff && diff -ruN orig new + @echo "########################################" + @echo "### Empty file list differences" + @diff -u \ + <(cd debian/tmp-diff/orig && find -size 0) \ + <(cd debian/tmp-diff/new && find -size 0) \ + > debian/tmp-diff/empty-files.diff || test $$? -eq 1 + @cat debian/tmp-diff/empty-files.diff + @test ! -s debian/tmp-diff/empty-files.diff || false + @echo "########################################" + @rm -rf debian/tmp-diff + +deb_trash += debian/tmp-diff + + +buildpackage: + $(checkdir) + dpkg-buildpackage -D -us -uc -rfakeroot -i'\.git|\.pc' +.PHONY: buildpackage + +prepare-release: + $(checkdir) + # don't want to be root -- using fakeroot below. + # also, stacking fakeroots seems to cause trouble generating diff. + @test "`whoami`" != root || \ + (echo "please run prepare-release as a normal user (not root)"; \ + false) + # check for any uncommitted changes + @if test $$(cd debian && git-diff-files | wc -c) -ne 0; \ + then \ + read -p "Uncommitted changes. Continue? [y/n] "; \ + if test "$${REPLY}" != y; \ + then \ + false; \ + fi; \ + fi + # TODO: make sure we actually installed the binary. + # TODO: run tests (use a check target?) + @read -p "Regenerate autofiles.diff? [y/n] "; \ + if test "$${REPLY}" == y; \ + then \ + $(MAKE) -f debian/rules autofiles-sync; \ + else \ + true; \ + fi + $(MAKE) -f debian/rules clean + $(MAKE) -f debian/rules buildpackage + test -f ../$(src_name)_$(debian_ver).diff.gz + @if [ $$(zgrep '^---' \ + ../$(src_name)_$(debian_ver).diff.gz \ + | grep -v /debian/ | wc -c) -ne 0 ]; \ + then \ + echo "Diffs outside debian/ found, please fix and retry."; \ + echo "This probably means either something wasn't cleaned"; \ + echo "properly, or you need to do some work in debian/patches."; \ + false; \ + else \ + echo "Everything looks OK. Ready for release."; \ + echo "Don't forget to run debsign if needed."; \ + fi +.PHONY: prepare-release + + +# we don't sync this automatically on clean because it's expensive and +# should only be done by a maintainer with time to deal with any mess +# it might create. +autofiles-sync: + $(update_debian_autofiles_quilt) +.PHONY: autofiles-sync + +debian-sync: $(persistent_autogen_files) + +.PHONY: force-debian-sync debian-sync + +debian/$(flavor).%: xsupport := "x" +debian/$(flavor).%: pkg_name := $(flavor) + +debian/$(flavor)-nox.%: xsupport := "nox" +debian/$(flavor)-nox.%: pkg_name := $(flavor)-nox + +debian/$(flavor)-gtk.%: xsupport := "gtk" +debian/$(flavor)-gtk.%: pkg_name := $(flavor)-gtk + +debian/%: debian/%.in debian/changelog + $(call deb_sub,$<,$@) + +debian/$(flavor)-bin-common.%: debian/emacsVER-bin-common.% debian/changelog + $(call deb_sub,$<,$@) + +debian/$(flavor)-common.%: debian/emacsVER-common.% debian/changelog + $(call deb_sub,$<,$@) + +debian/$(flavor)-el.%: debian/emacsVER-el.% debian/changelog + $(call deb_sub,$<,$@) + +debian/$(flavor).%: debian/emacsVER.% debian/changelog + $(call deb_sub,$<,$@) + +debian/$(flavor)-nox.%: debian/emacsVER.% debian/changelog + $(call deb_sub,$<,$@) + +debian/$(flavor)-gtk.%: debian/emacsVER.% debian/changelog + $(call deb_sub,$<,$@) + +debian/$(flavor)-common.README.Debian: \ + debian/emacsVER-common.README debian/patches/*.diff debian/patches/series + cd debian && \ + csplit -s -f emacsVER-common.README. \ + emacsVER-common.README '/@@PATCH_LIST_HERE@@/' + cp debian/emacsVER-common.README.00 debian/emacsVER-common.README.tmp + for p in $$($(quilt) series); do $(quilt) header $$p; done \ + >> debian/emacsVER-common.README.tmp + tail -n +2 \ + < debian/emacsVER-common.README.01 \ + >> debian/emacsVER-common.README.tmp + mv debian/emacsVER-common.README.tmp $@ + +deb_trash += debian/emacsVER-common.README.tmp +deb_trash += debian/emacsVER-common.README.00 +deb_trash += debian/emacsVER-common.README.01 + +debian/protected-files.tgz: + tar czpSf debian/protected-files.tgz.tmp $(protected_files) + mv debian/protected-files.tgz.tmp $@ + +debian/stamp/patch: debian/protected-files.tgz + $(checkdir) + $(patch) + mkdir -p $(dir $@) && touch $@ + +debian/stamp/setup: debian/stamp/patch + $(checkdir) + cp /usr/share/misc/config.sub . + cp /usr/share/misc/config.guess . + $(pf); find debian/bin -type f | xargs chmod 775 + mkdir -p $(dir $@) && touch $@ + +# common configure flags +confflags += --prefix=/usr +confflags += --sharedstatedir=/var/lib +confflags += --libexecdir=/usr/lib +confflags += --localstatedir=/var/lib +confflags += --infodir=/usr/share/info +confflags += --mandir=/usr/share/man +confflags += --with-pop=yes +confflags += --enable-locallisppath=$(local_lpath) + +# x configure flags +confflags_x := $(confflags) +confflags_x += --with-x=yes +confflags_x += --with-x-toolkit=athena +confflags_x += --with-toolkit-scroll-bars + +# nox configure flags +confflags_nox := $(confflags) +confflags_nox += --with-x=no + +# gtk configure flags +confflags_gtk := $(confflags) +confflags_gtk += --with-x=yes +confflags_gtk += --with-x-toolkit=gtk +confflags_gtk += --with-toolkit-scroll-bars + +configure: debian/stamp/configure +.PHONY: configure + +define cfg_tree + rm -rf $(1) + mkdir $(1) + cd $(1) && CFLAGS="$(CFLAGS)" ../../configure $(confflags) $(2) +endef + +# For those who prefer the old-style non-toolkit scrollbars, just add +# --without-toolkit-scroll-bars to the build-x cfg_tree line below. +# The resulting emacsXY package will have the old scrollbars. + +debian/stamp/configure: debian/stamp/setup + $(checkdir) + $(call cfg_tree,debian/build-x,$(confflags_x)) + $(call cfg_tree,debian/build-nox,$(confflags_nox)) + $(call cfg_tree,debian/build-gtk,$(confflags_gtk)) + mkdir -p debian/stamp && touch $@ + +build: debian/stamp/build +.PHONY: build + +debian/stamp/build: debian/stamp/configure $(autogen_build_files) + $(checkdir) + # first build has to be a bootstrap build + cd debian/build-x && $(build_cmd) bootstrap + cd debian/build-nox && $(build_cmd) + cd debian/build-gtk && $(build_cmd) + mkdir -p debian/stamp && touch $@ + + +define install_common_binpkg_bits + # args: (1) srcdir (2) pkgdir (3) pkgname (4) bin-suffix + + install -d $(2)/usr/bin/ + test -f $(1)/usr/bin/emacs-* + cp -a $(1)/usr/bin/emacs-* $(2)/usr/bin/$(flavor)-$(4) + dh_link -p$(3) usr/bin/$(flavor)-$(4) usr/bin/$(flavor) + + install -d $(2)/usr/share/emacs/$(runtime_ver)/etc + cp -a $(1)/usr/share/emacs/$(runtime_ver)/etc/DOC-$(runtime_ver).1 \ + $(2)/usr/share/emacs/$(runtime_ver)/etc/ + + install -d $(2)/usr/share/man/man1 + dh_link -p$(3) \ + usr/share/man/man1/emacs.1$(flavor).gz \ + usr/share/man/man1/$(flavor).1.gz + dh_link -p$(3) \ + usr/share/man/man1/emacs.1$(flavor).gz \ + usr/share/man/man1/$(flavor)-$(4).1.gz + +endef + + +install: debian/stamp/build $(autogen_install_files) + $(checkdir) + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + rm -rf $(install_dir_x) $(install_dir_nox) $(install_dir_gtk) + +# $(call emacs_inst,build-x,$(install_dir_x)) +# $(call emacs_inst,build-nox,$(install_dir_nox)) +# $(call emacs_inst,build-gtk,$(install_dir_gtk)) + + # Use X install dir for the common packages too. + $(call emacs_inst,build-x,$(install_dir_x)) + + ################################################## + # emacsXY-common + + cp -a $(install_dir_x)/* $(pkgdir_common) + + rm -r $(pkgdir_common)/usr/bin + rm -r $(pkgdir_common)/usr/lib + + cd $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc \ + && test -f DOC-$(runtime_ver).* + cd $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc \ + && rm DOC-$(runtime_ver).* + + # lisp path directories + install -d $(pkgdir_common)/etc/$(flavor)/site-start.d + install -d $(pkgdir_common)/usr/share/$(flavor) + + # The version-specific site-lisp dir, say emacs/21.1/site-lisp, needs + # to be in share/FLAVOR so that as we upgrade from 21.1 to 21.2, + # etc., add-on package bits don't get left behind. + mv $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/site-lisp \ + $(pkgdir_common)/usr/share/$(flavor) + dh_link -p$(flavor)-common usr/share/$(flavor)/site-lisp \ + usr/share/emacs/$(runtime_ver)/site-lisp + + # This is a duplicate of the file in FLAVOR/site-lisp + rm $(pkgdir_common)/usr/share/emacs/site-lisp/subdirs.el + + cd $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc/images/icons \ + && convert emacs_16.png emacs_16.xpm + + cd $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc/images/icons \ + && convert emacs_32.png emacs_32.xpm + + # Mangle info files. + chmod 755 debian/mangle-info + for f in $(main_dir_info_files); \ + do \ + DEBIAN_INFO_PREFIX=$(info_subdir) \ + debian/mangle-info \ + $(pkgdir_common)/usr/share/info/$(info_subdir)/$$f; \ + done + + perl -pi -e "s|man1/etags\\.1|man1/etags\\.1$(flavor)|" \ + $(pkgdir_common)/usr/share/man/man1/ctags.1$(flavor) + + # Remove extra license files + rm $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc/COPYING + rm $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/lisp/COPYING + + dh_link -p$(flavor)-common \ + usr/share/emacs/$(runtime_ver)/etc usr/share/doc/$(flavor)-common/etc + + # Install replacements for non-free files that can be reached + # through C-h + for f in THE-GNU-PROJECT; \ + do \ + sed \ + -e "s/@FILE@/$$f/g" \ + -e "s/@MAJOR_VERSION@/$(major_ver)/g" \ + $(CURDIR)/debian/missing-file.dfsg > \ + $(pkgdir_common)/usr/share/emacs/$(runtime_ver)/etc/$$f.dfsg ; \ + done + + $(pf); cd $(pkgdir_common) && \ + find -name "*.elc" | perl -pe 's/\.elc$$/\.el/o' | xargs rm -f + + $(pf); cd $(pkgdir_common) && \ + find -name "*.elc" | perl -pe 's/\.elc$$/\.el\.gz/o' | xargs rm -f + + # Remove extraneous info dir file. + rm $(pkgdir_common)/usr/share/info/emacs-$(major_ver)/dir + rm $(pkgdir_common)/usr/share/info/emacs-$(major_ver)/dir.old + + # Make sure /usr/local dir doesn't exist. + rm -r $(pkgdir_common)/usr/local + + ################################################## + # emacsXY-bin-common + + # Move common binaries to emacs-bin-common. + install -d $(pkgdir_bin_common)/usr + cp -a $(install_dir_x)/usr/bin $(pkgdir_bin_common)/usr + cp -a $(install_dir_x)/usr/lib $(pkgdir_bin_common)/usr + + # Make sure there's just one. + test -f $(pkgdir_bin_common)/usr/bin/emacs-* + rm $(pkgdir_bin_common)/usr/bin/{emacs,emacs-*} + + # Set up movemail. + chown root.mail $(pkgdir_bin_common)/$(movemail_bin) + chmod g+s $(pkgdir_bin_common)/$(movemail_bin) + + # Set up alternatives. + alternatives=`ls $(pkgdir_bin_common)/usr/bin | xargs` && \ + set -x && \ + for f in debian/$(flavor)-bin-common.*; \ + do \ + perl -pwi -e "s|\@ALTERNATIVES\@|$${alternatives}|go" $$f ; \ + done + + for f in `ls $(pkgdir_bin_common)/usr/bin`; \ + do \ + mv $(pkgdir_bin_common)/usr/bin/$$f \ + $(pkgdir_bin_common)/usr/bin/$$f.$(flavor) ; \ + done + + ################################################## + # emacsXY + $(call install_common_binpkg_bits,\ + $(install_dir_x),$(pkgdir_x),$(flavor),x) + + # install desktop entry + install -d $(pkgdir_x)/usr/share/applications + install -m 0644 \ + debian/$(flavor).desktop $(pkgdir_x)/usr/share/applications/ + + ################################################## + # emacsXY-nox + $(call emacs_inst,build-nox,$(install_dir_nox)) + $(call install_common_binpkg_bits,\ + $(install_dir_nox),$(pkgdir_nox),$(flavor)-nox,nox) + rm -rf $(install_dir_nox) + + ################################################## + # emacsXY-gtk + $(call emacs_inst,build-gtk,$(install_dir_gtk)) + $(call install_common_binpkg_bits,\ + $(install_dir_gtk),$(pkgdir_gtk),$(flavor)-gtk,gtk) + rm -rf $(install_dir_gtk) + + ################################################## + # emacsXY-el + + $(pf); \ + (cd $(install_dir_x) && find -name "*.el" -o -name "*.el.gz" -print0 \ + | tar cpf - --null --files-from -) \ + | (cd $(pkgdir_el) && tar xpf -) + + ################################################## + # final cleanup + rm -rf $(install_dir_x) + rm -rf $(install_dir_nox) + rm -rf $(install_dir_gtk) + + +binary-indep: build install + $(checkdir) + dh_testdir -i + dh_testroot -i + dh_installchangelogs -i + dh_installdocs -i + dh_link -i + dh_strip -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_shlibdeps -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +binary-arch: build install + $(checkdir) + dh_testdir -a + dh_testroot -a + dh_installinfo -a + dh_installman -a + dh_installchangelogs -a + dh_installdocs -a + dh_installexamples -a +# dh_install -a + dh_installmenu -a + dh_link -a + dh_strip -a + dh_compress -a + dh_fixperms -a -X$(movemail_bin) + dh_installdeb -a + dh_shlibdeps -a + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +binary: binary-indep binary-arch + +clean: debian-sync + $(checkdir) + $(cleanup_all) + +source diff: + @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false + +.PHONY: binary binary-arch binary-indep clean -- 2.30.2